gpt4 book ai didi

javascript - gmaps.js 触发信息窗口

转载 作者:行者123 更新时间:2023-11-30 08:03:55 24 4
gpt4 key购买 nike

我在弄清楚如何使用 gmaps.js 触发指定的信息窗口时遇到了一些困难

我的 map 初始化如下:

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() 函数。当标记在 map 上重新绘制时,如果用户打开了信息窗口,我想触发它​​打开。

我不确定如何根据特定 ID 触发信息窗口。例如,假设一个标记是这样设置的:

    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

最佳答案

添加到 Gmaps.map 实例中的每个标记都有自己的信息窗口存储在标记对象中。我们需要该特定标记的数组索引键。通过索引键访问右侧的 InfoWinow o 即可打开。您可以通过执行以下操作打开 GMaps.js 特定标记:

(map.markers[index].infoWindow).open(map.map,map.markers[index]);

将 [index] 替换为您希望信息窗口打开的标记的索引。

关于javascript - gmaps.js 触发信息窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21424138/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com