German B4A Bildschirmkoordinaten und weitere Anfängerfragen

psciga

Active Member
Licensed User
Longtime User
Hallo Forum,

vorab ein fettes Lob an Entwickler und das Forum:sign0098:. Bisher hatte ich es ein wenig(!!!) mit VBA sowie HTML und PHP zu tun. Dank b4a und insbesondere der tollen Dokumentation (Tutorials/Dok./Forum) konnte ich die ersten kleinen Beispiele nachvollziehen, z.B. ein Photo knipsen und das an einen Webserver senden. B4A hält was es verspricht und ich bin froh, das Geld dafür ausgegeben zu haben. Bevor ich zu den konkreteren Fragen komme, hier ein kurzer Abriß dessen was gemacht werden soll und bisher läuft:

Eine Website bestehend aus zwei Frames beinhaltet einen Lageplan aus MapGuide OpenSource (großes Frame) und diverse Befehle (kleines Frame). Letzteres beinhaltet diverse Buttons. Beispielsweise zum Zoom und Pan der Karte, oder auch Befehle, die das Auswählen einzelner Kartenelemente ermöglichen. Anschließend können Daten zu den gewählten Elementen erfaßt, zum Webserver gesandt und die Karte aktualisiert werden. Bis hierher funktioniert alles, wie es soll.

Seitdem ich nun mit B4A gespielt habe (also seit ca. 4 Tagen) bin ich völlig durcheinander, denn hier scheint ein riesiges Potential drin zu stecken. Am liebsten würde ich die ganze Interaktion nämlich über B4A abwickeln und mir damit künftig das ganze kleine Frame (und somit auch alles damit verbundene Js) sparen. Bevor ich aber drauflos arbeite würde ich geren wissen, ob folgende Dinge mit erträglichem Aufwand überhaupt machbar sind:

1. Laden einer Website in ein Fenster (Webview?)

2. Anpassen dieser Fenstergröße an an die Bildschirmgröße des Anwenders

3. Der Anwender tippt auf einen Punkt der Website. Nun bekommt das Programm die Koordinaten des Punktes. Z.B. ausgehend von z.B. der linken oberen Ecke des WebViews (oder wenigstens des Fensters). Ist dieser Punkt nämlich bekannt, kann ich ihn in die Koordinaten der Karte umrechnen lassen und mir entsprechende Daten aus der DB des Servers holen, um sie zu bearbeiten.

4. Da ich ahne, dass 3. nicht so "einfach" geht, stellt sich dir Frage, ob man ein einfaches PNG aus dem Web laden und dieses zur Anzeige bringen kann. Auch hier wären wieder die Koordinaten eines Punktes auf dem Bild zu ermitteln. Dann weiter wie 3. Allerding muß ich ier selbst bei MapGuide nachsehen, ob ich überhaupt so Bild generieren lassen kann. Das hat aber nix mit B4A zu tun.

Es wäre schön zu 1 bis 4 zu wissen, ob es geht. Besonders hilfreich wären natürlich weitergehende Tips, z.B. Links auf entsprechende Tutorials etc.

Danke im Voraus - Peter
 

klaus

Expert
Licensed User
Longtime User
Hallo Peter,

Willkommen in der B4A 'Familie'.

Antworten zu Deinen Fragen:
1) Ja, dafur ist die WebView da.
2) Ja, im Webview kann man 'rumzoomen'.
3)4) Mit WebView, denke Ich dass es nicht geht, WebView hat kein Event dieser Art.
Mit einer Karte als Bitmap die, in einem Panel auf dem Bildschirm gezeichnet ist, geht es. Du musst natürlich die Koordinaten der oberen linken und unteren rechten Ecke kennen. Mit dem Panel_Touch(Action As Int, X As Float, Y As Float) Event kann man die Cursorkoordinaten abfangen und die Koordinaten auf der Karte ausrechnen.
Zurück zu Punkt 1).
Wenn die Karte auf einer Webseite ist, und diese in einem WebView angezeigt ist, denke Ich dass es nicht geht.

Ich hatte so etwas in B4PPC (Windows Mobile)gemacht.
Von schweizer Landerskarten auf dem PC den Bildschirm als Bitmap (*.jpg)kopiert, und auf das Gerät geladen.
Im Gerät eine Skalierungsroutine reingebaut mit der Ich die Karte skalieren konnte. Und dann GPSkoordinaten und Wege auf der Karte anzeigen.
Vom Prinzip her kann man mit B4A das Gleiche machen.
Ein Unterschied zwischen den Geräten kann die Ingenauigkeit der Koordinaten sein die man mir dem Finger bekommt, Windows Mobile habe einen Stylos.

Beste Grüsse.
 
Top