首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gmaps.js触发器infoWindow

gmaps.js触发器infoWindow
EN

Stack Overflow用户
提问于 2014-01-29 06:55:16
回答 2查看 4K关注 0票数 1

我很难弄清楚如何使用infoWindow触发指定的gmaps.js

我的地图初始化如下:

代码语言:javascript
复制
map = new GMaps({
    div: '#map-canvas'
});
renderMarkers();

我的renderMarkers函数基本上执行对PHP的AJAX调用,该脚本查询数据库并返回结果集,并返回一系列addMarker调用,如下所示:

代码语言:javascript
复制
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。

代码语言:javascript
复制
    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来瞄准它吗?例:

代码语言:javascript
复制
google.maps.event.trigger(markers[1234], 'click');

??

我不确定使用gmaps.js执行此操作的具体语法

任何帮助都非常感谢:D

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-29 16:28:11

我说的对吗?我应该能够使用那个ID=1234来瞄准它吗?

我不这样认为。文档是非常不完整的,在gmaps.js中我找不到任何通过属性访问标记的功能。

但是您可以扩展原型:

代码语言:javascript
复制
GMaps.prototype.markerById=function(id){
  for(var m=0;m<this.markers.length;++m){
    if(this.markers[m].get('id')===id){
      return this.markers[m];
    }
  }
  return new google.maps.Marker();
}

用法:

代码语言:javascript
复制
google.maps.event.trigger(map.markerById(12345), 'click');
票数 3
EN

Stack Overflow用户

发布于 2014-09-14 13:03:01

添加到Gmaps.map意图的每个标记都有自己的InfoWindow存储在标记对象中。我们需要那个特定标记的数组索引键。按索引键前进,打开右InfoWinow o。您可以通过以下操作打开GMaps.js特定标记:

代码语言:javascript
复制
(map.markers[index].infoWindow).open(map.map,map.markers[index]);

将索引替换为希望InfoWindow打开的标记的索引。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21424138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档