2016-12-26 10 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>

その後: - URLやデータの下で

<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

実際には、ジオコーダーのapiは、ここに表示されているように、指定されたlatとlonに最も近いアドレスを返します。 - http://maps.googleapis.com/maps/api/geocode/json?latlng=53,7 上記の出力と結果[1]は出力の2番目のオブジェクトですが、結果[0]も使用できれば、最初に提案された結果が得られます。 –

0

あなたは、このいずれかを試してみてください、あなたはGoogle(または他の誰か)を探していますreverse geocoding service.

関連する問題