我在我的项目中使用 phonegape、google maps api v3 和 navigator.geolocation.watchPosition 函数。
我尽量遵循我的立场。我对标记有疑问。应用程序运行良好,但不会删除旧标记。当我获得新坐标时,它会一直创建新标记。
function onSuccess(position) {
var image = 'arrow1.png';
var pos_table = ['Here I am', position.coords.latitude, position.coords.longitude];
var where_i_am = new google.maps.LatLng(pos_table[1], pos_table[2]);
var my_position = new google.maps.Marker({
position: where_i_am,
map: map,
title: pos_table[0],
icon: image
});
map.panTo(new google.maps.LatLng(
position.coords.latitude,
position.coords.longitude
));
}
我添加了setmap(null),但是现在 map 上没有任何标记
for (var i = 0; i < my_position.length; i++) {
my_position[i].setMap(null);
}
当我尝试时:
if (my_position) {
for (var i = 0; i < my_position.length; i++) {
my_position[i].setMap(null);
}
}
它根本不起作用。请帮我。谢谢。
最佳答案
您可以尝试使用更新旧标记的位置,而不是尝试删除旧标记。
var my_position;
function onSuccess(position) {
var image = 'arrow1.png';
var pos_table = ['Here I am', position.coords.latitude, position.coords.longitude];
var where_i_am = new google.maps.LatLng(pos_table[1], pos_table[2]);
if (my_position) {
my_position.setPosition(where_i_am);
} else {
my_position = new google.maps.Marker({
position: where_i_am,
map: map,
title: pos_table[0],
icon: image
});
}
map.panTo(where_i_am);
}
关于javascript - 使用 phonegap 和 google maps api 删除单个标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23878928/