2015-03-16 3 views
0

Я пытаюсь отслеживать свое местоположение с помощью маркера, но я не могу изменить его положение. Итак, вот функция, которая дает мне проблемы; если вам нужно больше кода, попросите его.Маркер из plugin.google.maps (не com.google.maps) не меняет свою позицию

onSuccessLocation: function(position){ 
    currentLatLong = new getLatLong(position); 
    if(currentPositionMarker == null){ 

    currentPositionMarker = new map.addMarker({ 

    'position': currentLatLong, 
    'title': "I'm here", 
    'styles' : { 
      'text-align': 'center', 
      'font-style': 'italic', 
      'font-weight': 'bold', 
      'color': 'red' 
     }}) 
    } 

    else{ 
    alert(currentLatLong.toString()); 
    currentPositionMarker.setPosition(new currentLatLong); 
    } 

    } 

    function getLatLong(position){ 
    var longitude = position.coords.longitude; 
    var latitude = position.coords.latitude; 
    var currentLatLong = new plugin.google.maps.LatLng(latitude,     longitude); 
    return currentLatLong; 
}; 

Я знаю, что «currentLatLong» is beign uptated, потому что я вижу его с предупреждением. Я предполагаю, что currentPositionMarker.setPosition (new currentLatLong) не работает, потому что я не использую его правильно. Кроме того, я использую watchPosition для отслеживания местоположения (он работает нормально). Он дает мою позицию с таймаутом 2s, и я тестирую один плюс.

Спасибо заранее!

+1

вытащите «новое» в setPosition() – dandavis

+0

Я вынул «новый», он сохраняет то же самое. – hiei

+0

вытащите другие «новые» тоже ... – dandavis

ответ

0

Попробуйте

onSuccessLocation: function(position){ 
     currentLatLong = new getLatLong(position); 
//set up marker 
    var mylocationMarker = new google.maps.Marker({ 
      position:currentLatLong, 
      map: map, 
      title: 'My location' 
     }); 
     }; 

     function getLatLong(position){ 
     var longitude = position.coords.longitude; 
     var latitude = position.coords.latitude; 
     var currentLatLong = new plugin.google.maps.LatLng(latitude,     longitude); 
     return currentLatLong; 
    } 

Кроме того, убедитесь, что JavaScript библиотеки для Google Maps загружается должным образом.

Смежные вопросы