我正在使用谷歌地图显示带信息窗口的标记。其中我显示地址但我想在点击标记时在信息窗口中显示名称。任何帮助将受到高度赞赏。
功能负载()
{
var map = new GMap2(document.getElementById(“map”));
map.setCenter(new GLatLng(-37.816667,144.966667),10);
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
var geocoder = new GClientGeocoder();
GDownloadUrl("shops.xml", function(data) {
var xml = GXml.parse(data);
shop = xml.documentElement.getElementsByTagName("shop");
for (var i = 0; i < shop.length; i++) {
var name= shop[i].getElementsByTagName("name");
name = name[0].childNodes[0].nodeValue;
var address= shop[i].getElementsByTagName("address");
address = address[0].childNodes[0].nodeValue;
geocoder.getLocations(address, addToMap);}
}); }
function addToMap(response) { place = response.Placemark [0]; point = new GLatLng(place.Point.coordinates [1],place.Point.coordinates [0]);
function createMarker(point,address)
{
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function()
{
map.openInfoWindowHtml(point, address);
});
return marker;
}
map.addOverlay(createMarker(point, response.name));
}
答案 0 :(得分:0)
使用API v3并在标记设置中将标记的标记设置为“name”,然后在添加单击标记后,您将能够引用所单击标记的标题 - 如果这是您想要的。
//get your point and name whatever way you plan to do it
...
function createMarker(point,name){
var marker = new google.maps.Marker({
position: point,
map: map,
title: name,
}) ;
var content='Whatever info you want plus'+name;
var infowindow = new google.maps.InfoWindow({
content: content
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
return marker;
}
请检查我刚才写的关闭。 ķ