我需要谷歌地图的帮助..我有以下代码使用地图上显示的1个属性,但我有许多地址/属性在同一地图上显示它们并没有成功。
var address = "<?php echo $address?>";
var map = new google.maps.Map(document.getElementById('map'), {
mapTypeId: google.maps.MapTypeId.ROADMAP,
zoom: 16
});
var geocoder = new google.maps.Geocoder();
geocoder.geocode({
'address': address
},
function(results, status) {
if(status == google.maps.GeocoderStatus.OK) {
new google.maps.Marker({
position: results[0].geometry.location,
map: map
});
map.setCenter(results[0].geometry.location);
}
});
从php获取地址但JS端脚本对我来说很难..请帮助并告诉我需要更改的内容,以便将地址作为JS数组以及如何显示所有地址。
答案 0 :(得分:0)
我想在你的数组上寻找一个简单的Javascript for
循环,所以这应该是这样的(假设address
是一个有效的Javascript数组):
// address = ... //define address array here
var map = new google.maps.Map(document.getElementById('map'), {
mapTypeId: google.maps.MapTypeId.ROADMAP,
zoom: 16
});
var geocoder = new google.maps.Geocoder();
var nbAddresses = address.length;
for (var i=0;i<nbAddresses;i++)
{
geocoder.geocode({
'address': address[i]
},
function(results, status) {
if(status == google.maps.GeocoderStatus.OK) {
new google.maps.Marker({
position: results[0].geometry.location,
map: map
});
map.setCenter(results[0].geometry.location);
}
});
}
编辑:请注意,此代码段可以进行优化,这只是一种快速解决问题的方法(无需双关语);)