JQuery Ui Map更改标记位置

时间:2013-07-14 04:41:44

标签: android jquery-ui-map

我有以下代码,在Android上获得用户位置,并在地图上创建或(应该)更新标记

var myPos = null;

function locSuccess(position) {

 var newPoint = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);

 if(myPos == null) {
     myPos = new google.maps.Marker({
        'id':'myPos',
        'position':newPoint,
        'icon' : 'http://maps.google.com/mapfiles/ms/icons/blue-dot.png'
     });
     $('#map_canvas').gmap('addMarker', myPos);
 } else {
    myPos.setPosition(newPoint); 
 }

 $('#map_canvas').gmap('get', 'map').panTo(newPoint);
 $('#map_canvas').gmap('refresh');  
}

新标记的创建工作正常,当位置更新时平移到新点也可以正常工作,只是标记不会改变它的位置

有什么想法吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

将位置保持在我所拥有的变量中不起作用,我不得不将变量分配给标记数组中的标记,如此

var myPos = $('#map_canvas').gmap('get', 'markers')['myPos']; 

if(!myPos) {
    //Create a new marker
    $('#map_canvas').gmap('addMarker', {
        'id':'myPos',
        'position':newPoint,
        'icon' : 'http://maps.google.com/mapfiles/ms/icons/blue-dot.png'
    });
    $('#map_canvas').gmap('option', 'zoom', 12);
} else {
    //If there is already a marker, update the position
    myPos.setPosition(newPoint); 
}