php - 如何使用 JS 和 PHP 检查 LatLng 在 Google StreetView 中是否有效

标签 php javascript google-maps-api-3

我正在尝试实现一个 php 服务,该服务将采用 $_GET("LAT")$_GET("LNG") 并根据Google StreetView API v3 JavaScript 是否有效。 如果是,则返回 OK,或 NOK。

我意识到完成这个任务的 JS 代码是:

var latLng = new google.maps.LatLng(12.121221, 78.121212);
            streetViewService.getPanoramaByLocation(latLng, STREETVIEW_MAX_DISTANCE, function (streetViewPanoramaData, status) {
                if (status === google.maps.StreetViewStatus.OK) {
                    //ok
                } else {
                    //no ok
                }
            });

我无法将所有内容(即 PHP 和 JS)结合在一起,这样就可以了。

谁能帮帮我吗?

谢谢

编辑1:

这是我到目前为止提出的代码,但它不起作用:

<?php 
Header("content-type: application/javascript");
?>
<html>
    <head>  </head>
    <body onload="checkValid()">
        <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=true"></script>

        <script language="text/javascript">
        function checkValid() {
            var streetViewService = new google.maps.StreetViewService();
            var STREETVIEW_MAX_DISTANCE = 100;
            var latLng = new google.maps.LatLng(<?php $_GET("LAT") ?>,<?php $_GET("LNG") ?>);
            streetViewService.getPanoramaByLocation(latLng, STREETVIEW_MAX_DISTANCE, function (streetViewPanoramaData, status) {
                if (status === google.maps.StreetViewStatus.OK) {
                    alert('ok');
                } else {
                    alert('not');
                }
            });
            }

        </script>
    </body>
</html>

最佳答案

如果你想使用JS来验证纬度和经度,那么你需要将$_GET参数获取到JS中。像这样的东西:

var LAT = '<?=isset($_GET['LAT']) ? $_GET['LAT'] : 91?>';
var LNG = '<?=isset($_GET['LNG']) ? $_GET['LNG'] : 181?>';

var latLng = new google.maps.LatLng(LAT, LNG);
streetViewService.getPanoramaByLocation(latLng, STREETVIEW_MAX_DISTANCE, function (streetViewPanoramaData, status) {
    if (status === google.maps.StreetViewStatus.OK) {
        //ok
    } else {
        //no ok
    }
});

我使用了一个简单的三元语句来询问 GET 是否可用,如果可用,则将其添加到 JS 变量中,如果不添加超出 Lat 和 范围的值长。这将导致 Google Maps API 自动失败。

关于php - 如何使用 JS 和 PHP 检查 LatLng 在 Google StreetView 中是否有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17242770/

相关文章:

PHP 运行时数组创建

google-maps-api-3 - Google Maps API - route 点

javascript - 使用具有 "same-origin"跨源策略的 maps.googleapi.com

javascript - 根据 Google Maps API v3 中的地理位置精度设置缩放级别

php - PDO 事件常量

php - 加入 2 个表并只显示一个 id 的最大值 - mysql

javascript - 如何控制溢出滚动的滚动条

javascript - 使用 jQuery 时,何时/为什么要在变量前加上 "$"?

javascript - 如何只显示多个下拉值数组中的1个?

php - 关于构建自己的(PHP)MVC框架的问题