Utilizzo di AngularJS e della direttiva ui-gmap-google-map (http://angular-ui.github.io/angular-google-maps/#!/) Ho creato una mappa di google che traccia il percorso da guidare. Quando provo a tracciare un percorso diverso, il primo percorso rimane sulla mappa. Ho provato directionsDisplay.setMap (null); rimuovere il vecchio percorso, ma questo non funziona. Qualcuno può aiutare?AngularJS ui-gmap-google-map rimuovere il percorso di guida
Qui è la parte rilevante del mio codice di controllo:
uiGmapIsReady.promise().then(function (map_instances) {
$scope.mapRef = $scope.map.control.getGMap();
});
$scope.getDirections = function (lat, long, origin, type) {
uiGmapGoogleMapApi.then(function (maps) {
var directionsService = new maps.DirectionsService();
var directionsDisplay = new maps.DirectionsRenderer();
if (origin == "" || type == "geo") {
origin = $scope.geoPosition.coords.latitude + ", " + $scope.geoPosition.coords.longitude;
}
var request = {
origin: origin,
destination: lat + ", " + long,
travelMode: maps.TravelMode['DRIVING'],
optimizeWaypoints: true
};
directionsService.route(request, function (response, status) {
if (status === google.maps.DirectionsStatus.OK) {
directionsDisplay.setMap(null);
directionsDisplay.setMap($scope.mapRef);
directionsDisplay.setDirections(response);
} else {
console.log('Directions request failed due to ' + status);
}
});
});
}
Il problema è che puoi chiamare map.remove() o rimuovere un livello specifico in cui il percorso viene visualizzato normalmente quando console.log hai $ scope.mapRef ci dovrebbero essere i layer in là – stackg91
Non verrà map.remove ottenere liberare l'intera mappa? Puoi dirmi il modo migliore per rimuovere il percorso esistente? – user1024941
prova che directionsDisplay.setMap (null); o directionsService.setMap (null) – stackg91