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

4
如何在Google Maps API V3标记中添加类或ID?我想使用jQuery访问这些标记。
编辑:嗨,clarkf,感谢您的回复。使用Firebug检查我的地图时,我看不到那些类,但我注意到有两个div。一个用于图标,一个用于按钮。
我正在尝试做的是: 我在网站上显示了一系列丢失的宠物,它们也显示在地图上。列表中的每个宠物都有一个唯一的ID,并且我希望地图上的宠物可以使用类来反映此ID,因为ID需要是唯一的,并且每个宠物可能有几个点。因此,我正在寻找一种添加地图标记类的方法。这样,当用户从列表中选择一个丢失的宠物时,它会在地图上突出显示,反之亦然。
谢谢 Ric

听起来有点棘手。为什么你需要通过jQuery访问它们?API非常全面,应该可以通过它完成大部分操作。编辑:经过一番探索,我发现地图标记已经有了id。它们的classgmnoprint,而它们的ID遵循mtgt_#.####的模式(我找到了一个mtgt_A.1000)。 - clarkf
2个回答

0

经过一番探索,我发现地图标记都有一个名为gmnoprint的类(假定是Google Maps No Print)。因此,我在我的房子附近进行了一次披萨地图搜索,并在Chrome的检查器控制台窗口中执行了以下操作:

> 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');
}

有点临时性的,但我还不确定你想表达什么。


0

还没有成功让它工作。不确定是否已经有可能了。但我已经绕过去了,因为我的标记存储在一个数组中,与我想要链接到它们的项目一起。所以我可以说,如果点击了第一个项目,则突出显示数组的第一个项目的标记。有点粗糙,如果系统需要一个项目的几个标记,它将会出现问题,但现在它可以工作了。如果你想知道我在说什么,这里是链接:http://www.isabellevetslostpets.com/page/search-for-a-lost-pet

搜索丢失的宠物并单击结果(可悲的是没有人上传照片!)。结果存储在同一个数组中(通过 AJAX 加载的 JSON 对象 - 使用 Firebug 查看),这就是我如何将它们联系在一起的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接