使用单击功能获取已在地图上添加的所有标记

时间:2013-04-08 14:09:41

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

我想获取我添加到地图中的所有标记的坐标,但它只获取最后添加的标记。如何在阵列中显示每个添加的标记?

google.maps.event.addListener(map, 'click', function (evt) {
    placeMarker(evt.latLng);
    coordinates = Array(evt.latLng + ';');
});

以下是它现在打印的方式:["(38.28993659801203, -89.6484375);"]。我希望它能打印["38.28993659801203,-89.6484375;39.9434364619742,-91.64794921875;"]

演示:http://jsfiddle.net/edgren/CZ34s/

1 个答案:

答案 0 :(得分:2)

在点击监听器之外定义coordinates,在阵列上定义push个新坐标:

var coordinates = [];

google.maps.event.addListener(map, 'click', function (evt) {
    placeMarker(evt.latLng);
    coordinates.push(evt.latLng.toString());
});

或者,如果您想要一个长字符串,请将coordinates作为字符串并将新值连接到其上:

var coordinates = "";

google.maps.event.addListener(map, 'click', function (evt) {
    placeMarker(evt.latLng);
    coordinates += evt.latLng.toString() + ";";
});