【发布时间】:2014-01-29 06:55:16
【问题描述】:
我很难弄清楚如何使用 gmaps.js 触发指定的 infoWindow
我的地图初始化如下:
map = new GMaps({
div: '#map-canvas'
});
renderMarkers();
我的 renderMarkers 函数基本上对 PHP 脚本执行 AJAX 调用,该脚本查询数据库并返回结果集,并返回一系列 addMarker 调用,如下所示:
LOOP THROUGH RESULT SET {
map.addMarker({
lat: marker.SiteLatitude,
lng: marker.SiteLongitude,
infoWindow: {
content: marker.contentHTML,
closeclick: function(e) {
$("#customer-details-container").hide();
}
},
icon: marker.iconPath,
id: marker.MyID
})
}
当客户端使用 map.removeMarkers() 触发对基础数据库的更新时,我刷新/重新渲染标记,然后触发我的 renderMarkers() 函数。当标记在地图上重绘时,如果用户打开了 infoWindow,我想触发它打开。
我不确定如何根据特定 ID 触发 infoWindow。例如,假设标记是这样设置的:
map.addMarker({
lat: 102.325
lng: -67.524,
infoWindow: {
content: "<div>test!</div>"
closeclick: function(e) {
$("#customer-details-container").hide();
}
},
icon: "image/marker.png",
id: 1234
})
我说我应该能够使用 ID=1234 定位它是否正确?例如:
google.maps.event.trigger(markers[1234], 'click');
??
我不确定使用 gmaps.js 执行此操作的具体语法
非常感谢任何帮助:D
【问题讨论】:
标签: javascript google-maps google-maps-api-3 gmaps.js