如何使用Jquery和Google Maps API将街道地址从数组转换为lat/long
我试图输出数组中每个地址的lat和long 请参阅小提琴: JavaScript:如何使用Jquery和Google Maps API将街道地址从数组转换为lat/long,jquery,google-maps,Jquery,Google Maps,我试图输出数组中每个地址的lat和long 请参阅小提琴: JavaScript: var address = [ "Collins+Street,+MELBOURNE,+VIC,+AUSTRALIA,+3000", "Sussex+Street,+SYDNEY,+NSW,+AUSTRALIA,+2000", "George+Street,+BRISBANE,+QLD,+AUSTRALIA,+4000"]; jQuery.each(address, function(index, item)
var address = [ "Collins+Street,+MELBOURNE,+VIC,+AUSTRALIA,+3000", "Sussex+Street,+SYDNEY,+NSW,+AUSTRALIA,+2000", "George+Street,+BRISBANE,+QLD,+AUSTRALIA,+4000"];
jQuery.each(address, function(index, item) {
var geocoder = new google.maps.Geocoder();
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();
console.log(latitude, longitude);
}
});
我觉得我的迭代有点混乱。我的最终目标是将它们显示为一个列表,但我将暂时使用控制台。有一些语法错误,下面是最终代码的外观:
var address = [ "Collins+Street,+MELBOURNE,+VIC,+AUSTRALIA,+3000", "Sussex+Street,+SYDNEY,+NSW,+AUSTRALIA,+2000", "George+Street,+BRISBANE,+QLD,+AUSTRALIA,+4000"];
jQuery.each(address, function(index, item) {
var geocoder = new google.maps.Geocoder();
geocoder.geocode( { 'address': item}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var latitude = results[0].geometry.location.lat();
var longitude = results[0].geometry.location.lng();
console.log(latitude, longitude);
}
});
});
还要注意我是如何改变的
{'address': address}
到
因为我们现在正在引用数组本身的项和索引
这是一个有效的演示:非常好的回答和解释。谢谢大家。
{'address':item}