Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Kommunikation und Netzwerk

k24:k24.8:k24.8.1:start

24.8.1 Projekte

Für die zwei vorgestellten Projekte wird das freie Kartenmaterial von openstreetmap.org (OSM) eingesetzt. In einer angezeigten Karte – dargestellt in einer MapView – können Sie mit dem Mausrad den Kartenausschnitt in 18 Schritten zoomen und mit einem permanenten Klick auf die Karte den angezeigten Kartenbereich verschieben.

24.8.1.1 Voraussetzungen

Für die Anzeige einer Karte sind drei Voraussetzungen zu erfüllen:

  • Genaue Kenntnis der geografischen Koordinaten des anzuzeigenden Ortes auf der Erde – vorzugsweise als geografische Breite und Länge in dezimaler Grad-Angabe.
  • Wahl eines geeigneten Zoom-Faktors aus dem Intervall [1..18], der die Größe des Kartenausschnitts bestimmt.
  • Aktive Internetverbindung, um die (vor-)berechneten Karten vom Server abzurufen.

24.8.1.2 Projekt GeoMap1

Das vorgestellte Projekt realisiert einen Betrachter für Karten von OSM.

OBG

Abbildung 24.8.1.2.1: GeoMap1 – Hanse-Stadt Osterburg in Sachsen/Anhalt

Der Quelltext für das Projekt wird vollständig angegeben:

[1] ' Gambas class file
[2] 
[3] Public Sub Form_Open()  
[4]   FMain.Center
[5]   FMain.Caption = "GeoMap - Daten von OpenStreetMap"  
[6]   btnHelp.Value = True
[7]   ShowMap()  
[8] End ' Form_Open()
[9] 
[10] Public Sub ShowMap()
[11]   Dim iZoom As Integer
[12]   Dim fLatitude, fLongitude As Float
[13]   Dim sCacheName, sTileName, sTilePattern As String
[14]   Dim cArguments As New Collection
[15] 
[16] ' Initialisierung
[17]   iZoom = 13  
[18]   sTileName = "OpenStreetMap"
[19]   sTilePattern = "85.30.190.241/{z}/{x}/{y}.png"
[20]   cArguments = Null
[21]   sCacheName = Null  
[22]   fLatitude = 52.7905  ' °Breite Osterburg
[23]   fLongitude = 11.7531 ' °Länge Osterburg   
[24]     
[25]   MapView1.Map.AddTile(sTileName, sTilePattern, cArguments, sCacheName)
[26]   MapView1.Map[sTileName].Copyright = " © OpenStreetMap"
[27]   MapView1.Map[sTileName].Visible = True ' optional; Standard-Einstellung ist TRUE    
[28]   MapView1.Map.AddShape("P1")
[29]   MapView1.Map!P1.AddPoint("Osterburg", MapPoint(fLatitude, fLongitude))  
[30]   MapView1.Map.Center = MapPoint(fLatitude, fLongitude)
[31] ' MapView1.Map.Center = MapView1.Map!P1!Osterburg.Points ' Alternative
[32]   MapView1.Map.Zoom = iZoom 
[33]   MapView1.AllowEffect = True    
[34] End ' ShowMap()
[35] 
[36] Public Sub btnHelp_Click()
[37]   ShowHelp()
[38] End ' btnHelp_Click()
[39] 
[40] Public Sub ShowHelp()
[41]   Dim sMessage As String
[42]  
[43]   sMessage = "<hr><b>Hinweise zum Einsatz der Komponente Map</b><hr>"
[44]   sMessage &= "» Verschieben der Karte mit gedrückter linker Maustaste<br>"
[45]   sMessage &= "» Zoomen mit dem Maus-Rad<br>"  
[46]   sMessage &= "» Zoomen mit dem Schieberegler<hr>"  
[47]   sMessage &= "» Die Tastenkombination ALT+B beendet das Programm<hr>" 
[48]   sMessage &= "▪ Entwickler der Komponente <i>gb.map</i>  ist Fabien Bodard"  
[49]   sMessage &= "<br>▪ EMail: gambix@users.sourceforge.net<hr>"
[50]   Message.Info(sMessage)        
[51] End ' ShowHelp()
[52] 
[53] Public Sub btnClose_Click()
[54]   FMain.Close
[55] End ' btnClose_Click()

Hinweise:

  • In der Zeile 19 wird statt der URL {s}.tile.openstreetmap.org die adäquate IP-Adresse genutzt. Das ist nur dann von Vorteil, wenn es Probleme mit dem DNS-Server in Verbindung mit zwischengeschalteten Routern gibt.
  • Wenn Sie die angezeigte Karte ausdrucken – eine entsprechende Klasse dafür wird von F. Bodard entwickelt – oder in anderem Zusammenhang verwenden wollen, dann müssen Sie in der Zeile 26 einen Copyright-Vermerk auf der Karte anzeigen lassen, um die Lizenzbedingungen zu erfüllen!
  • Die Kartenkacheln werden im Verzeichnis ~/.cache/gb.map/MyMapCache/ gespeichert.
  • Detaillierte Hinweise zu den Argumenten und dem Cache entnehmen Sie der Dokumentation.

Beim Programm-Start wird eine Hilfe eingeblendet:

Abbildung 24.8.1.2.2: Programm-Hilfe

24.8.1.3 Projekt GeoMap2

Das zweite Projekt ist eine Adaption des Programmbeispiels MapView von Fabien Bodard – dem Entwickler der Komponente Map – aus der Beispielsammlung von Gambas.

Zusätzlich zur Anzeige einer Karte können Sie mit der CTRL-Taste eine Lupen-Funktion zuschalten:

Lens

Abbildung 24.8.1.3.1: GeoMap2 mit Lupe

Die Archive für beide Projekte befinden sich im Download-Verzeichnis.

Download

Die Website verwendet zwei temporäre Session-Cookies. Diese technisch notwendigen Cookies werden gelöscht, wenn der Web-Browser geschlossen wird! Informationen zu Cookies erhalten Sie in der Datenschutzerklärung.
k24/k24.8/k24.8.1/start.txt · Zuletzt geändert: 05.02.2019 (Externe Bearbeitung)

Seiten-Werkzeuge