Tagebuch
Erster Erfolg mit DroidScript
Ich wusste, dass es gehen muss.
Die Aufgabe:
Mit DroidScript eine Openlayers Seite anzeigen, welche KML Daten anzeigt (vor dem Hintergrund einer OSM Karte).
Das Problem:
Zwar ließ sich die Seite laden und auch die Karte wurde dargestellt, nur keine KML Daten.
Die Lösung:
Openlayers benötigt zur Darstellung von KML Dateien eine Web Adresse. Und zwar von genau dem Server, auf dem auch die Seite gehostet wird. Und anscheinend darf das kein file:///xxxxx sein, sondern muss eine echte http Adresse sein.
Was man in DroidScript machen muss ist ganz einfach. Man generiert einen Webserver mit:
var ip = app.GetIPAddress();
if( ip == "0.0.0.0" ) {
app.ShowPopup( "Please Enable Wi-Fi" );
app.Exit();
}
serv = app.CreateWebServer( 8080 );
serv.SetFolder( "/sdcard/DroidScript/hydrant1/HTML" );
serv.Start();
In der ersten Zeile wird die lokale IP-Adresse geholt. Danach ein Server generiert und gestartet.
Jetzt kann man dem Webview (ist hier nicht gezeigt) diese Adresse zuweisen:
var adresse = "http://" + ip + ":8080/hello_osm_mobil.html";
web.LoadUrl( adresse );
Damit funktioniert es!!!
Fazit .... Es lohnt, sich weiter mit DroidScript zu beschäftigen:-).
Erster Erfolg mit PROJ4.JS
Openlayers kann leider nur von Hause aus mit wenigen Koordinatensystemen was anfangen. Will man beispielsweise die WGS 84 Koordinaten in GKS anzeigen, dann braucht man proj4.js.
Diese Datei wird ganz normal mit
<script src="../assets/proj4/js/proj4.js"></script>
eingebunden.
Im nächsten Schritt ist die neue Projektion anzulegen (Beispiel für GKS 5):
proj4.defs("EPSG:31469","+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs");
Die Parameter kommen von http://spatialreference.org/ref/epsg/31469/ogcwkt/.
Nun kann mit OpenLayers
var pirna = ol.proj.transform([13.93992304801941, 50.95805250184432], 'EPSG:4326', 'EPSG:31469');
console.log(pirna);
die eigentliche Umrechnung erfolgen.
Die Hintrgrundkarte kommt aus Openstreetmap. Hydranten (blauer Punkt mit Beschriftung) und Leitungen (rote Linien) stammen aus KML Dateien, welche mit dem Spatial Manager in BricsCAD erzeugt wurden.
Leider fehlt momentan die Zeit für weitere Experimente. Immerhin habe ich gelernt, dass man erst alle controls in DroidScript dem Layout hinzufügen muss bevor man es lädt. Eine nachträgliche Änderung ist nicht möglich.
Ich stelle fest, dass ich nichts verstehe. Gemeint ist DroidScript. Sämtliche Versuche Openlayers dazu zu bewegen eine OSM Karte mit KML anzuzeigen schlagen fehlt. :-(.
Link zu einem Geolocation in die Link Liste aufgenommen und außerdem die Kontakt Seite getestet.
Erster Entwurf der Seite auf SimDif mit ersten Links.