再会!我只是想问一下 InfoBubble 是否可以有一个听众。我试图在 div 中插入 InfoBubble 的文本并在那里插入一个 onclick 命令,但没有任何反应。
提前致谢。顺便说一句,我目前正在开发一个 android 应用程序,并使用 webview 来显示地图。
再会!我只是想问一下 InfoBubble 是否可以有一个听众。我试图在 div 中插入 InfoBubble 的文本并在那里插入一个 onclick 命令,但没有任何反应。
提前致谢。顺便说一句,我目前正在开发一个 android 应用程序,并使用 webview 来显示地图。
好的,jetpro,
这是我在使用 javascript 的类似场景中所做的:
/* json data object requires:
data.Id,
data.Lat,
data.Lng,
data.Name,
data.Address,
data.Date
*/
function DisplayMapEvent(data, targetDiv) {
var latlng, options, map, contentString, infowindow, marker;
// setup our variables
latlng = new window.google.maps.LatLng(data.Lat, data.Lng);
options =
{
zoom: 15,
center: latlng,
mapTypeId: window.google.maps.MapTypeId.ROADMAP
};
// create the map inside our map <div> and apply the options
map = new window.google.maps.Map(document.getElementById(targetDiv), options);
map.setOptions(options);
// info to display in the infowindow popup
contentString =
'<div>' +
'<b style="color: #DC6852;">' + data.Name + '</b><br />' +
'Where: ' + data.Address + '<br />' +
'When: ' + data.Date + '<br />' +
'</div>';
// info/marker and popup objects setup
infowindow = new window.google.maps.InfoWindow({
content: contentString
});
marker = new window.google.maps.Marker({
position: latlng,
map: map
});
// add the usual suspect event handlers
window.google.maps.event.trigger(map, 'resize');
// to allow us to repoen a map marker infowindow if closed
window.google.maps.event.addListener(marker, 'click', function () {
infowindow.open(map, marker);
});
// open infowindow on map once rendered
infowindow.open(map, marker);
// sit back and wonder at the glory of google maps mow :-)
}
就我而言,我将一个 json 对象传递给DisplayMapEvent
函数,但您可以根据自己的要求重新调整它。每当我希望在我的地图上添加新标记时都会调用此函数,因此您可以根据需要解除此批发和重构。
希望这可以帮助。
像这样添加监听器
google.maps.event.addDomListener(infoBubble2.bubble_, 'click', function(){..});
玩得开心!