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

时间:2012-07-07 20:39:37

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

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

我在页面上显示的其他内容依赖于标记,因此当单击标记时,页面上的内容必须根据单击的标记进行更改。我希望一旦标记存储和检索自定义数据让我们说点击等。

由于

2 个答案:

答案 0 :(得分:193)

由于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);
});

答案 1 :(得分:14)

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