将HTML类/ ID添加到Google Maps Marker(API V3)

时间:2010-10-23 23:07:08

标签: javascript google-maps google-maps-api-3

如何在Google Maps API V3标记中添加类或ID?我希望能够使用jQuery访问标记。

编辑:嗨克拉克夫,谢谢你的回复。使用Firebug我在检查地图时无法看到这些类,但我注意到有两个div。一个用于图标,一个用于按钮。

我想做的是: 我在网站上显示了丢失的宠物列表,它们也显示在地图上。列表中的每个宠物都有一个唯一的ID,我希望地图上的每个宠物使用一个类镜像这个ID,因为ID需要是唯一的,每个宠物可能有几个点。所以我正在寻找一种向地图标记添加类的方法。这样,当用户从列表中选择丢失的宠物时,它将在地图上突出显示它,反之亦然。

由于

里克

2 个答案:

答案 0 :(得分:0)

在做了一些刺激之后,我发现地图标记都具有gmnoprint类(假设 G oogle M aps 打印)。所以,我在我家附近搜索披萨的地图,在Chrome的Inspector的控制台窗口中,我:

> var list = document.getElementsByClassName('gmnoprint');
  [...] //length=37
> for ( var i = 0, item; item = list[i]; i++ ) { console.log(item.id); }
  //(11 items with no id)
  mtgt_A.1001
  mtgt_B.1001
  mtgt_C.1001
  mtgt_D.1001
  mtgt_E.1001
  mtgt_F.1001
  mtgt_G.1001
  mtgt_H.1001
  mtgt_I.1001
  mtgt_J.1001
  mtgt_A.1000
  map_overview
  //Irrelevant information...

所有可见标记均为mtgt_[LETTER].1001格式。数字后缀似乎与多组字母标记有关(mtgt_A.1000是一个隐藏的标记 - 也许这个地方没有打开,或者其他什么。但是所有相关的标记都遵循该模式。所以,大概,你应该能够通过jQuery和$('#mtgt_[LETTER].1001')访问标记 - 再次,取决于你的上下文,但也许你正在寻找的是

function getMarker(letter) {
    return $('mtgt_'+letter+'.1000');
}

ad-hoc-y的排序,但我仍然不确定你得到了什么。

答案 1 :(得分:0)

无法让这个工作。不确定它是否可能。虽然因为我的标记与我想要链接到它们的项目一起存储在一个数组中,所以我确实破解了它。所以我可以说如果单击了第一个项目,则突出显示该数组的第一个项目的标记。有点粗糙,如果一个系统需要一个项目的几个标记,它会破裂,但它现在有效。如果您想知道我在说什么,请点击此处:http://www.isabellevetslostpets.com/page/search-for-a-lost-pet

搜索丢失的宠物并点击结果(遗憾的是没有人上传照片!)。结果存储在同一个数组(通过AJAX加载的JSON对象 - 看看它的Firebug)作为标记信息,这就是我将它们绑定在一起的方式。