[英]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.