2013-07-14 63 views
0

我有下面的代碼,這讓對Android的用戶位置,並創建或在地圖上jQuery UI的地圖更改標記位置

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

保持在一個變量的位置就像我不工作,我不得不把變量分配到標記的標記陣列這樣

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