Google Map API V3: 如何向标记添加自定义数据

有没有一种方法,我可以添加一些自定义信息到我的标记,以供以后使用。有一些方法可以有一个信息窗口和一个标题,但是如果我想把标记和其他信息关联起来呢。

我有其他的东西显示在页面上,这取决于标记,所以当一个标记是点击页面上的内容必须根据哪个标记被点击。我想存储和检索自定义数据一旦标记是让说点击等。

Thanks

86143 次浏览

您可以将自己的自定义属性添加到标记中(只是要小心不要与 API 的属性冲突)。

由于 GoogleMarker 是一个 JavaScript 对象,您可以以 key: value的形式添加自定义信息,其中 key 是一个有效的字符串。它们被称为 object properties,可以通过许多不同的方式接近。值可以是任何合法的东西,比如数字或字符串,也可以是函数,甚至是其他对象。三种简单的方法: 在声明,点符号和方括号

var markerA = new google.maps.Marker({
map: map,
position: new google.maps.LatLng(0, 0),
customInfo: "Marker A"
});


var markerB = new google.maps.Marker({
map: map,
position: new google.maps.LatLng(-10, 0)
});
markerB.customInfo = "Marker B";


var markerC = new google.maps.Marker({
map: map,
position: new google.maps.LatLng(-20, 0)
});
markerC['customInfo'] = "Marker C";

然后以类似的方式检索它:

google.maps.event.addListener(markerA, 'click', function() {
alert(this.customInfo);
});