Google-Maps, Bing-Maps, OpenStreetMap in VB-Anwendung einbinden und Koordinaten aus Datenbank anzeigen

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Snickbrack.

    Google-Maps, Bing-Maps, OpenStreetMap in VB-Anwendung einbinden und Koordinaten aus Datenbank anzeigen

    Hallo,
    ich schlage mich gerade mit der Idee herum ob und wenn ja,
    wies es möglich ist:
    1. Google-Maps oderBing-Maps in einem Webbrowser (in VB 2010 Express oder höher) darzustellen (das bekomme ich evtl. sogar noch hin).
    2. Und dann aus einer Datenbank Koordinaten (von Hydranten) auszulesen und diese als Marker in diesem Browser-Fenster anzeigen zu lassen.
    3. Die einzelnen Marker in der Karte mit etwas Information aus der Datenbank (Lage des Hydranten, Leitungsdurchmesser etc.) zu versehen.
    Es gibt da in einigen Foreneinträgen schon den ein oder anderen Denkansatz, doch da wird oft von Programmierkenntnissen in JAVA oder anderen Programmiersprachen ausgegangen (über die ich leider nicht verfüge).
    Gibt es irgendwo ein Tutorial oder einen Eintrag im Forum, den ich übersehen habe, in dem beschrieben ist, wie man eine Karte aus dem Internet mit entsprechenden Punkten aus einer Datenbank komplett in Visual Basic realisieren kann? Evtl. auch in Form einer HTML-Seite, die aus VB generiert wird und dann im Browser angezeigt wird. ich scheitere da gedanklich derzeit schon dran, wie ich Google-Maps oder Bing-Maps beibringen soll, dass ich da noch einige Punkte habe, die ich gerne angezeigt bekommen würde.

    Weil mit einem Code wie:

    VB.NET-Quellcode

    1. WebBrowser1.Navigate("http://maps.google.com/maps?f=d&source=s_d&saddr=" & TextBox1.Text & "&daddr=" & TextBox2.Text)


    bekomme ich ja nur einen einzigen Punkt angezeigt und unter Umständen würde es Sinn machen auch die Hydranten in der Umgebung ebenfalls zu sehen.
    Das hinterlegen der Punkte in OpenStreet-Map oder anderen Kartenverzeichnissen im Netz ist mir da etwas unsicher, da die Daten ja von
    anderen Nutzern evtl. geändert werden könnten und dann eben nicht mehr die Information liefern, die benötigt wird.
    Über Lösungsansätze oder Hinweise, wo es Codeausschnitte oder Beispiel (in VB) für die Darstellung eines bestimmten Punktes in einem
    Online-Kartenwerk gibt, wäre ich wirklich dankbar.
    Vielleicht bin ich gerade auch auf einem völlig falschen Weg und müsste das anders lösen, aber gedanklich habe ich mich da gerade irgendwie festgefahren.
    Schon mal recht herzlichen Dank für jede Rückmeldung und ein schönes Wochenende.


    8-) Lösungsansatz:

    Ich werde mir nun lediglich einen gewählten Punkt anzeigen lassen. Und zwar mit OpenStreetMap (OSM).

    Eine URL mit folgendem Aussehen zentriert die Karte mit dem Zoomfaktor 14 mit den angegebenene Koordinat (lat und lon) auf dem Bildschirm:

    openstreetmap.org/?lat=49.4122&lon=8.2062&zoom=14&layers=M

    Wenn man nun an einer bestimmten Stelle einen Makrer setzen möchte, muss man entsprechend ein "m" vor die Koordinatenangaben setzen (mlat und mlon):

    http://www.openstreetmap.org/?mlat=49.4122&mlon=8.2062&zoom=14&layers=M

    Wenn ich mir nun den entsprechenString in VB bastle und im Borwser anzeigen lasse, sehe ich zwar nur einen Punkt, aber das muss jetzt halt für den Anfang genügen. Die Angaben zum punkt lassen sich dann ja in einem Textfeld irgendwo in der Form ausgeben - es handelt sich ja nur um einen Punkt.

    VB.NET-Quellcode

    1. Dim uriMap as String
    2. uriMap ="http://www.openstreetmap.org/?mlat=" & txtKoordniate1.Text & "&mlon=" & txtKoordniate2.Text & "&zoom=20&layers=M"
    3. WebBrowser1.Navigate(uriMap)


    Vielleicht findet sich ja irgendwann noch eine Lösung mehrere Marker anzeigen zu lassen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „broetchen1979“ ()

    Hallo zusammen,

    ich bin gerade an etwas ähnlichem dran:

    Ich würde gerne einen Kartenausschnitt, der sich zwischen zwei Punkten (Geodaten) aufspannt, als Bild speichern um dann darauf Punkte (eine Art Blasendiagramm bzw. Heatmap) zu setzten.
    Letzteres funktioniert schon. Bisher allerdings mit einem manuell eingefügten Kartenausschnitt und manuell eingegebenen Eckpunkten (Breite/Länge links oben und Breite/Länge rechts unten). Im Prinzip das hier stark modifiziert.

    Deutschlandweite Geodaten zu PLZ habe ich. Daraus lassen sich einfach die kleinsten (Links oben) und größten (Rechts unten) finden und mit einem relativ berechneten Rand ein Kartenausschnitt definieren.

    Jemand ne Idee?
    1. die Maden in dem toten Thread sind mittlerweile auch schon tot. Nutze diesen Hinweis, bevor du das nächste Mal ein Grab schändest. Eröffne doch einfach hier n neues:

    vb-paradise.de/index.php/ThreadAdd/14/

    2. Welches Problrm hast du denn genau? (Bitte erläutere dies in einem neuen Thread)