Ich arbeite daran, eine aktualisierbare Vektorschicht in meinen Phonegap Build mit OpenLayers 3 einzubauen. Es prüft den Server auf Updates und lädt bei Bedarf eine neue Datei herunter.Phonegap - Ich kann nicht auf GeoJson zugreifen, das im Datenverzeichnis gespeichert ist
Ich kann die Datei herunterladen und speichern Sie kein Problem (Ich verwende den gleichen Code in anderen Anwendungen für Nicht-Geojson-Dateitypen ohne Probleme). Ich habe es die Existenz mit dem überprüft folgenden:
var resortURL = cordova.file.dataDirectory + "resorts.geojson";
window.resolveLocalFileSystemURL(resortURL,function(e){
console.log("located");
},function(e){
console.log("missing");
});
Wenn ich die Datei mit OL gehen zuzugreifen:
var resortSource = new ol.source.Vector({
url: resortURL,
format: new ol.format.GeoJSON()
});
var resortBoundary = new ol.layer.Vector({
source: resortSource
});
map.addLayer(resortBoundary);
Die oben nicht alle Daten auf die Karte hinzuzufügen, obwohl es das nicht hinzufügen Schicht. aus dem Vermögen Standort funktioniert genau
url: "json/resorts.geojson"
Anfordern die Datei wie erwartet: Ich habe sogar noch weiter und fügte die GeoJSON Datei direkt in dem Vermögen www Ordner Präbuildereignis und zugegriffen es mit gegangen. Das Problem ist, wenn ich versuche, darauf zuzugreifen, nachdem ich es auf Android in das Datenverzeichnis heruntergeladen habe, und dann versuche, durch dort zuzugreifen. Fehle ich etwas? Ich habe alles unter der Sonne versucht, um es zum Laufen zu bringen.
Was sagt Ihre Webkonsole über die Geojson-Datei unter der Registerkarte "Netzwerk"? Zeigt es eine Anfrage für die Geojson-Datei? war es gelesen ?? Was bedeutet 'resortSource.getFeatures(). Length'? – GoinOff
@GoinOff Die Länge des Arrays ist Null. Die Registerkarte Netzwerk zeigt an, dass die Anforderung mit einer Dateigröße von 0 ausgeht. Sie sieht genauso aus, wenn sie funktioniert, außer dass der Status auf der Netzwerkregisterkarte "Fertig" anstatt der typischen 200 anzeigt. Das habe ich noch nie zuvor gesehen. – MappingJordan
Ich hatte zahlreiche Browser-Caching-Probleme mit 'URL'-Eigenschaft von' ol.source.Vector', wo es eine alte Version der Geojson-Datei verwendet. Haben Sie versucht, Ihren Cache in Ihrem Webbrowser zu löschen? Sind Sie sicher, dass die Geojson-Datei gültigen Geojson enthält? http://geojson.org/geojson-spec.html – GoinOff