2015-04-20 4 views
0

У меня возникли проблемы с картой google play. В первом случае вся загрузка правильно, но вторая карта не загружена. Я думал, что это будут решены некоторые методы, но ничего. Я взял это, чтобы очистить карту.ionic cleanse google map app

var map = document.getElementById("mapa_ubicacion"); 
google.maps.event.trigger(map, 'resize'); 

Эта карта загружается каждый раз, когда человек берет фотографию с помощью камеры мобильного устройства поэтому сколько раз вы могли бы занять.

$scope.cargarUbicacion = function() { 
var posOptions = {timeout: 10000, enableHighAccuracy: false}; 
$cordovaGeolocation 
    .getCurrentPosition(posOptions) 
    .then(function (position) { 
    var latitud_actual = position.coords.latitude 
    var longitud_actual = position.coords.longitude 
    var mapOptions = { 
       center: new google.maps.LatLng(latitud_actual, longitud_actual), 
       zoom: 15, 
       mapTypeId: google.maps.MapTypeId.ROADMAP, 
       scrollwheel: false 
      }; 
      map = new google.maps.Map(document.getElementById("mapa_ubicacion"), mapOptions); 
      $scope.setMarker(map, new google.maps.LatLng(latitud_actual, longitud_actual), 'Yo', ''); 
    }, function(err) { 
    // error 
    }); 


var watchOptions = { 
    frequency : 1000, 
    timeout : 3000, 
    enableHighAccuracy: false // may cause errors if true 
}; 

var watch = $cordovaGeolocation.watchPosition(watchOptions); 
watch.then(
    null, 
    function(err) { 
    // error 
    }, 
    function(position) { 
    var latitud_actual = position.coords.latitude 
    var longitud_actual = position.coords.longitude 
    var mapOptions = { 
       center: new google.maps.LatLng(latitud_actual, longitud_actual), 
       zoom: 15, 
       mapTypeId: google.maps.MapTypeId.ROADMAP, 
       scrollwheel: false 
      }; 
      map = new google.maps.Map(document.getElementById("mapa_ubicacion"), mapOptions); 
      $scope.setMarker(map, new google.maps.LatLng(latitud_actual, longitud_actual), 'Yo', ''); 
}); 
watch.clearWatch(); 
} 

ответ

1

Попробуйте создать единый экземпляр карты в начальной функции вашего контроллера и добавить объект карты в область действия. Затем обновите местоположение карты только в своих методах. Это помогло мне решить подобную проблему.

$scope.init = function() { 

     var mapOptions = { 
      zoom: 15, 
      mapTypeId: google.maps.MapTypeId.ROADMAP, 
      scrollwheel: false 
     }; 

     var map = new google.maps.Map(document.getElementById("mapa_ubicacion"), mapOptions); 
     $scope.map = map; 
    } 

    $scope.init(); 
}) 

В своих методах необходимо выполнить следующие действия:

//set map center with your coords on $scope.map 
$scope.setMarker($scope.map, new google.maps.LatLng(latitud_actual, longitud_actual), 'Yo', ''); 
+0

Это не работает для меня, как и другие, загрузить в первый раз, но второй больше не изменяется. – NHTorres

+0

I На основе вашего примера и улучшения моего кода теперь работает для меня. Спасибо !!! – NHTorres

+0

Я рад, что мог бы помочь, без проблем :) – user2661709

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