Javascript 使用phonegap和google maps api删除单个标记

Javascript 使用phonegap和google maps api删除单个标记,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我在项目中使用phonegape、google maps api v3和navigator.geolocation.watchPosition函数 我试着追随我的立场。我对记号笔有问题。应用程序运行良好,但不会删除旧标记。当我得到新的坐标时,它会一直创建新的标记 function onSuccess(position) { var image = 'arrow1.png'; var pos_table = ['Here I am', position

我在项目中使用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),但是现在地图上没有任何标记

 for (var i = 0; i < my_position.length; i++) {
    my_position[i].setMap(null);
 }
for(变量i=0;i
当我尝试时:

if (my_position) {
    for (var i = 0; i < my_position.length; i++) {
        my_position[i].setMap(null);
    }
}
if(我的位置){
对于(变量i=0;i

这根本不起作用。请帮帮我。Thx.

您可以尝试使用更新旧标记的位置,而不是尝试删除旧标记

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);

}
改为

 var my_position = new Array();
 function onSuccess(position) {
for(var i = 0; i< 10; i++){
    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]);
             my_position[i] = 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
                ));

    }
}
var my_position=new Array();
成功时的功能(位置){
对于(变量i=0;i<10;i++){
var image='arrow1.png';
var pos_table=['我在这里',position.coords.latitude,position.coords.longitude];
其中,var_i_am=新的google.maps.LatLng(pos_表[1],pos_表[2]);
我的位置[i]=新的google.maps.Marker({
职位:我在哪里,
地图:地图,
标题:pos_表[0],
图标:图像
});
map.panTo(新的google.maps.LatLng)(
位置坐标纬度,
位置坐标经度
));
}
}