122

有没有办法可以将一些自定义信息添加到我的标记以供以后使用。有一些方法可以获得信息窗口和标题,但是如果我想将标记与其他信息相关联怎么办。

我在页面上显示了取决于标记的其他内容,因此当单击标记时,页面上的内容必须根据单击的标记而改变。一旦标记被单击,我想存储和检索自定义数据点击等

谢谢

4

2 回答 2

225

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

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);
});
于 2012-07-07T20:53:38.210 回答
14

您可以将自己的自定义属性添加到标记(请注意不要与 API 的属性冲突)。

于 2012-07-07T20:53:14.510 回答