首先,请向我道歉。

嗨!我需要使用PHP打印当前用户的地址,我有一个小脚本:

<?
  function getaddress($lat,$lng)
  {
     $url = 'http://maps.googleapis.com/maps/api/geocode/json?latlng='.trim($lat).','.trim($lng).'&sensor=false';
     $json = @file_get_contents($url);
     $data=json_decode($json);
     $status = $data->status;
     if($status=="OK")
     {
       return $data->results[0]->formatted_address;
     }
     else
     {
       return false;
     }
  }
?>

<?php
  $lat= 21.884766199999998; //latitude
  $lng= -102.2996459; //longitude
  $address= getaddress($lat,$lng);
  if($address)
  {
    echo $address;
  }
  else
  {
    echo "Not found";
  }
?>


当然可以,但是我不知道如何将$ lat和$ long变量更改为当前用户位置。

简而言之如何将当前用户的经度和纬度位置传递给PHP变量,以使该脚本起作用?

最佳答案

<html>
<body>
<p id="demo">Click the button to get your coordinates:</p>
<button onclick="getLocation()">Try It</button>
<script>
var x=document.getElementById("demo");
function getLocation()
  {
  if (navigator.geolocation)
    {
    navigator.geolocation.getCurrentPosition(showPosition);
    }
  else{x.innerHTML="Geolocation is not supported by this browser.";}
  }
function showPosition(position)
  {
  x.innerHTML="Latitude: " + position.coords.latitude +
  "<br>Longitude: " + position.coords.longitude;
  }
</script>
</body>
</html>


这是一个基于JavaScript的搜索。您可以在html浏览器中尝试将lat长时间传递给php脚本。

如果它可以帮助您确定还是可以告诉我,我也有其他方法。

09-26 13:11