地理位置脚本未返回值

时间:2018-11-06 10:32:57

标签: javascript php google-maps

我正在尝试使用Javascript查找用户位置,但是它没有给我任何价值,我的代码在下面

<script>
                        window.onload = function() {
                          var startPos;
                          var geoSuccess = function(position) {
                            startPos = position;
                            document.getElementById('startLat').innerHTML = startPos.coords.latitude;
                            document.getElementById('startLon').innerHTML = startPos.coords.longitude;
                          };
                          navigator.geolocation.getCurrentPosition(geoSuccess);
                        };
                    </script>
                    <?php echo "<script> getCurrentPosition('startLat') </script>"; ?> 

3 个答案:

答案 0 :(得分:2)

通过HTML5 Geolocation API,您可以通过一些JavaScript(如果浏览器兼容,并且如果用户允许访问他/她的位置)来获取用户的纬度/经度。

然后您可以对地理位置进行反向地理编码以获得地址,除Google的API之外,还有其他free reverse-geocoding个服务。

您也可以查看此链接How to get geographical location of an IP address in PHP以获取更多了解

示例:

theta1 = zeros((3,2)) #this is a 3x2 matrix
theta0 = zeros((2,1)) #this is a 2x1 matrix
thetares = theta1.dot(theta0) #3x2 * 2x1 -> 3x1

res0 = thetares.T.dot(thetares)[0,0] #result 0.0
res1 = thetares.T.dot(thetares)      #result [[0.]]

答案 1 :(得分:2)

如果您在HTML中具有id为“ startLat”和“ startLon”的元素,那么它将起作用

只需添加HTML:

<p id="startLat"></p>
<p id="startLon"></p>

您实际上可以删除此行:

<?php echo "<script> getCurrentPosition('startLat') </script>"; ?>

答案 2 :(得分:0)

要在PHP中使用纬度/经度,可以通过JS发送the values

在HTML

<script>
    function sendData(value) {
       var request = new XMLHttpRequest();
       request.open('post', 'DESTINATION.PHP', true);
       request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
       request.send('data=' + value);
    }
</script>

或作为隐藏表单输入  并在PHP中访问

if(isset($_POST['data'])){
   $data = $_POST['data'];
   // Do stuff...
}