2016-12-26 124 views
2

我有一個給出經度和緯度的API,我希望根據這些值的地址(城市,地區等)的地址。我們如何將經緯度轉換爲網站的地址?

假設像http://ip-api.com/php/2.50.153.139這樣的網站,如果我們給位置的IP,它會給出我們居住的位置的名稱。 JSON的輸出將是這樣的:

a:14:{s:5:"query";s:12:"2.50.153.139";s:10:"regionName";s:9:"Abu Dhabi";s:3:"lat";d:24.466699600219727;s:3:"org";s:39:"Emirates Telecommunications Corporation";s:3:"zip";s:0:"";s:2:"as";s:24:"AS5384 Emirates Internet";s:6:"status";s:7:"success";s:7:"country";s:20:"United Arab Emirates";s:4:"city";s:9:"Abu Dhabi";s:3:"lon";d:54.36669921875;s:8:"timezone";s:10:"Asia/Dubai";s:3:"isp";s:39:"Emirates Telecommunications Corporation";s:11:"countryCode";s:2:"AE";s:6:"region";s:2:"AZ";} 

但是萬畝的情況下,我有緯度,經度和我想的區域名稱。

我需要它通過使用php或由js。我該怎麼辦?

回答

0

包括這個腳本 - <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>

然後: -

<script type="text/javascript"> 
     function GetAddress() { 
      var lat = parseFloat(document.getElementById("#yourinputlat").value); 
      var lng = parseFloat(document.getElementById("#yourinputlon").value); 
      var latlng = new google.maps.LatLng(lat, lng); 
      var geocoder = geocoder = new google.maps.Geocoder(); 
      geocoder.geocode({ 'latLng': latlng }, function (results, status) { 
       if (status == google.maps.GeocoderStatus.OK) { 
        if (results[1]) { 
         alert("Location: " + results[1].formatted_address); 
        } 
       } 
      }); 
     } 
    </script> 
+0

@biswas我可以知道這是什麼結果[1]? – gitu

+0

其實geocoder api給出了最接近的地址給定的經度和長度,你可以看到這裏: - http://maps.googleapis.com/maps/api/geocode/json?latlng=53,7 所以結果是上面的輸出和結果[1]是輸出的第二個對象,如果你想要,你也可以使用結果[0],它會給你第一個建議的結果。 –