2017-10-18 19 views
0

Ich mache eine Google Maps Map mit zwei verschiedenen Polylinien. Eine Datei mit nur einer und eine weitere Datei mit vier davon. Ich habe zu Tasten mit vm.loadDiggit('js/file/diggitOne.geojson') und die andere mit vm.loadDiggit('js/file/diggitTwo.geojson') gemacht.Laden Sie zwei verschiedene Geojson-Dateien mit verschiedenen Tasten

Sie sehen wie folgt aus:

<a class="btn btn green" ng-click="vm.loadDiggit('js/lib/diggitOne.geojson')"> Diggit one</a> <a class="btn btn green" ng-click="vm.loadDiggit('js/lib/diggitTwo.geojson')">Diggit two</a>

In meiner Javascript-Datei ich sie mit dieser Funktion laden:

vm.loadDiggit = function(filename){ 
 
    var promise = $.getJSON(filename); 
 
    promise.then(function(data){ 
 
     cachedGeoJson = data; 
 
     map.data.addGeoJson(cachedGeoJson); 
 
    }) 
 
}

Die bisher funktioniert, aber wenn ich Wenn Sie die Tasten mehrmals drücken, werden mehr und mehr Ebenen über die andere Ebene gelegt. Wie kann ich einfach zwischen den beiden Dateien wechseln?

Antwort

0

Dies hilft Ihnen, alle Daten zu löschen, bevor Sie die neuen Daten hinzufügen.

map.data.forEach(function(feature) { 
    map.data.remove(feature); 
}); 

dies wird also Ihr neuer Code sein:

vm.loadDiggit = function(filename){ 
    var promise = $.getJSON(filename); 
    promise.then(function(data){ 
     cachedGeoJson = data; 
     map.data.forEach(function(feature) { 
     map.data.remove(feature); 
     }); 
     map.data.addGeoJson(cachedGeoJson); 
    }) 
} 
+0

Thank you so much !!! Das funktioniert total für mich – MissesA

Verwandte Themen