【发布时间】:2012-02-23 10:53:31
【问题描述】:
我有一系列位置,并且使用地理编码器,我能够获得纬度和经度。但是,我想每次都从地理编码器函数中传递位置值。
var locations=new Array("Delhi","Jaipur")
for(var i=0;i<locations.length;i++){
var tempLoc=locations[i];
geocoder.geocode( { 'address': tempLoc},function(results, status)
{
if (status == google.maps.GeocoderStatus.OK) {
latitude[i] = results[0].geometry.location.lat();
longitude[i] = results[0].geometry.location.lng();
latLonArray[i]=new google.maps.LatLng(latitude[i],longitude[i]);
latlngbounds.extend( latLonArray[ i ] );
map.setCenter(latlngbounds.getCenter());
map.fitBounds(latlngbounds);
createMarker(latLonArray[i],tempLoc);
}
});
}
function createMarker(pos,t){
var marker = new google.maps.Marker({
position: pos,
map: map,
title: t
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(marker.title);
infowindow.open(map, marker);
});
return marker;
}
位置标记完美,但是当调用点击事件时,信息窗口未根据位置显示(对于每个标记,信息窗口将标题显示为最后一个位置[“jaipur”])。
【问题讨论】:
标签: javascript google-maps-api-3 dom-events