Ich habe eine Seite, die gut funktioniert, lädt eine Bing Map und erstellt eine Ebene, die dann mit Polygonen gefüllt wird. Ich muss dann die JSON-Daten neu laden, die die Polygone machen, und dies funktioniert wieder, aber die Daten werden dann zu einer anderen Ebene hinzugefügt, so dass sie oben angezeigt wird. Ich habe versucht, die Schicht zu löschen, die Schicht usw. zu löschen, aber nichts scheint zu funktionieren.Bing Maps Api eine Ebene löschen
Irgendeine Idee bitte.
Dies ist die Funktion, das alles ...
function AddData() {
dataLayer = new Microsoft.Maps.Layer();
Microsoft.Maps.loadModule('Microsoft.Maps.GeoJson', function() {
var featureCollection = Microsoft.Maps.GeoJson.read(json, {
polygonOptions: {
strokeColor: 'LightSkyBlue',
strokeThickness: 2
}
});
for (var i = 0; i < featureCollection.length; i++) {
var fillColour = featureCollection[i].metadata.FillColor;
featureCollection[i].setOptions({ fillColor: fillColour });
Microsoft.Maps.Events.addHandler(featureCollection[i], 'click', displayClickBox);
Microsoft.Maps.Events.addHandler(featureCollection[i], 'mouseover', displayMouseOverBox);
Microsoft.Maps.Events.addHandler(featureCollection[i],'mouseout', displayMouseOut);
dataLayer.add(featureCollection[i], 0);
}
map.layers.insert(dataLayer);
});
}
var getJson = function() {
var onContentComplete = function (response) {
//Load the JSON data into the local variable for use latter in the project...
json = response.data;
//load the map now that we have the polygon data...
AddData();
};
var onError = function (reason) {
//An error has occured so display a message to the user...
$scope.error = "Server communication error please try again...";
//Log the error to the console for admin debug...
console.log(reason.data);
};
//Load the JSON for the map polygons into memory ready for display...
$http.get("../JSON/MapData.json")
.then(onContentComplete, onError);
}
Wie gesagt habe ich die Schicht ersten
dataLayer.clear();
mit löschen versucht haben, aber das scheint nichts zu tun.
Hilfe bitte, wie ich seit Stunden daran gearbeitet habe.
Danke
Cliff.
Das Problem ist nicht sehr klar für mich. Was meinst du mit "erscheint übertrieben"? Über allem, was - die Karte? Sollte es nicht oben auf der Karte erscheinen? Was sind die aktuellen und gewünschten Situationen? (Screenshots können helfen) –
Die Ebenen liegen übereinander. Es sollte nur eine Ebene geben und ich habe einen Alpha-Satz von 0,3, so dass Sie die Karte unter dem Polygon sehen können. Wenn die Funktion jedoch wiederholt wird, wird eine weitere Ebene über die letzte Ebene geladen und die Karte wird mit jeder neuen Ebene zunehmend dunkler. Ich möchte nur eine Ebene nicht mehrere. –
Können Sie bitte den Aufruf von addData hinzufügen, da es sich anhört, dass addData perfekt funktioniert, wie es sollte - aber mehr als einmal mit denselben Polygonen aufgerufen wird (dasselbe json-Objekt, das die Polygone enthält). –