7

我正在使用 Google Maps v3,并在服务器端构建了位置数据的 json 集合。因此,当我收到它时,我会遍历该集合并为它们中的每一个创建一个标记对象。

对于这些标记中的每一个,我将它们与 click 事件绑定,因此当用户单击地图中的标记时,它会显示一个 infoWindow,其中包含与关联位置相关的数据。

我有一个数组来存储从服务器获取的所有位置,该服务器包含检索到的 json 对象及其相应的标记。

问题是,即使我有一个可以引用或迭代的数组,我不仅需要在用户单击它们时获取标记对象,还需要获取存储更多信息的位置对象。

我试图维护这个对象数组并从调用对象引用它但没有成功,因为该函数是由标记调用的,而不是位置对象。所以我想是否可以在谷歌地图标记对象中存储更多信息,比如使用通用字段。

如果需要更多信息,请告诉我。

谢谢!

4

1 回答 1

9

是的,感谢 JavaScript。在这种语言中,对象和哈希表是同一个东西1

这就是您创建标记的方式:

var point = new google.maps.LatLng(40.70, -74.00);
var myMarker = new google.maps.Marker({ position: point, map: map });

这就是您可以向myMarker对象添加附加属性的方式:

myMarker.myNewField = 100;

瞧!无需保存单独的相关数据数组。不需要通用字段。只需发明一个新的属性名称,您就可以开始了。


1 Douglas Crockford对 JavaScript 编程语言的调查。

于 2010-04-22T00:18:37.840 回答