如何在标记中存储更多信息?

时间:2010-04-22 00:14:15

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

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

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

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

问题在于,即使我有一个可以引用或遍历的数组,我不仅需要在用户点击它时获取标记对象,还需要存储更多信息的位置对象。 / p>

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

如果需要更多信息,请与我们联系。

谢谢!

1 个答案:

答案 0 :(得分: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;

中提琴!无需保存单独的相关数据数组。不需要通用领域。只需创建一个新的属性名称,就可以了。


Douglas Crockford撰写

1 A Survey of the JavaScript Programming Language