簡體   English   中英

使用Google API進行地理編碼

[英]Geocoding using Google API

我使用此代碼來獲取經度和緯度。 我想擴展到多個地理位置的多個地理位置代碼。

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <script type="text/javascript">

var geocoder = new google.maps.Geocoder(); var address = "new york";

geocoder.geocode( { 'address': address}, function(results, status) {

 if (status == google.maps.GeocoderStatus.OK) {
var latitude = results[0].geometry.location.lat();
var longitude = results[0].geometry.location.lng();
alert(latitude);   }  });  </script>

如果我修改為,請包含兩個位置。 任何不將其寫入網頁的想法,以及如何將多個位置的經緯度存儲到數組中的任何想法。

<!DOCTYPE html>
<html>
<body>
<h1>My First Web Page</h1>
<p>My first paragraph.</p>


<script type="text/javascript" src="http://maps.google.com/maps/api/js?   sensor=false"></script>
<script type="text/javascript">

var geocoder = new google.maps.Geocoder();
var address = [['New York City'],['Chicago, IL']];

geocoder.geocode( { 'address': address}, function(results, status) {

 if (status == google.maps.GeocoderStatus.OK) {
var latitude = results[0].geometry.location.lat();
var longitude = results[0].geometry.location.lng();
document.write(latitude);
document.write(longitude);
 }   
 }); 
</script>

</body>
</html> 

請參閱文檔 ,地址是字符串,而不是字符串數組的數組。

請注意,地址解析器受配額和費率限制,因此以下代碼僅適用於大約10個結果,而不會處理status = OVER_QUERY_LIMIT。

var geocoder = new google.maps.Geocoder();
var address = [
    ['New York City'],
    ['Chicago, IL']
];
for (var i = 0; i < address.length; i++) {
    geocoder.geocode({
        'address': address[i][0]
    }, function (results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            var latitude = results[0].geometry.location.lat();
            var longitude = results[0].geometry.location.lng();
            document.getElementById('info').innerHTML += latitude + "<br>";
            document.getElementById('info').innerHTML += longitude + "<br>";
        } else {
            alert("geocode failed:"+status);
        }
    });
}

代碼段:

 var geocoder = new google.maps.Geocoder(); var address = [ ['New York City'], ['Chicago, IL'] ]; for (var i = 0; i < address.length; i++) { geocoder.geocode({ 'address': address[i][0] }, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { var latitude = results[0].geometry.location.lat(); var longitude = results[0].geometry.location.lng(); document.getElementById('info').innerHTML += latitude + "<br>"; document.getElementById('info').innerHTML += longitude + "<br>"; } else { alert("geocode failed:" + status); } }); } 
 <script src="https://maps.googleapis.com/maps/api/js"></script> <div id="info"></div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM