vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
OSM Map in Excel nutzen 
Autor: skopeko
Datum: 12.05.18 11:19

Hi,
ich suche einen Weg um OSM Karten in Excel anzuzeigen.
Auf der Karte soll dann ein GPS Track angezeigt werden.

Mit google maps ist mir das schon gelungen aber hier habe ich dann eine static map die ich anzeige. Karte verschieben/zoomen ist nicht wirklich gut.

Am besten wäre vermutlich ein user control was das schon leistet.
Eine Möglichkeit für Offlinekarten wäre auch eine gute Alternative.

Danke
skopeko
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: OSM Map in Excel nutzen 
Autor: Souffleurlos
Datum: 12.05.18 12:19

Hi Skopeko,
wie hast Du Google Maps in Excel anzeigen lassen? Hast Du dabei auch die richtigen Maps (Key)? verwendet?. Es gibt nämlich mehrere MAP-Verweise. Im Weiteren könntest du die URL über die Navigate-Methode des Webbrowser Controls ansteuern (alternativ auch über IExplorer.Application - Objekt).
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: OSM Map in Excel nutzen 
Autor: skopeko
Datum: 12.05.18 16:21

Bin mir nicht sicher was du meinst.
Ich schicke das ab:
https://maps.googleapis.com/maps/api/staticmap?size=600x600&path=enc%3A}{m~h?q~_
  uz`?`??`??f????|?h?d??b?q?a?m??g?
Das kann man auch so einfach in den Browser eingeben und bekomme ein "Image" zurück.

Hier siehst du dann die Karte und die Polyline die ich geschickt habe.
Ich zeige das dann einfach in eineem Frame an.

url=https://maps.googleapis.com/maps/api/staticmap?size=600x600&path=enc%3A}{m~_
  h?q~uz`?`??`??f????|?h?d??b?q?a?m??g?
Sheets("Sheet1").Shapes("gMap").Fill.UserPicture url
Das geht aber nur bis etwa 1650 Zeichen. Dann will Excel nicht mehr. Das bedeutet lange Polylines kann man vergessen.

Ich würde gerne ein Frame oder so haben wo ich OSM Maps anzeigen kann. Hier muss es dann klappen, dass ich zoomen und verschieben kann und zusätzlich eine Polyline zeichnen kann. Die Map muss auch nicht zur Laufzeit aus demm Inet gezogen werden. Wenn ich die lokal habe geht das auch.
So wie in Garmin BaseCamp z.B.

Wenn ich mich recht entsinne ist das Webbrowser control nur noch über Umwege in Excel 2013 und neuer verfügbar (Registry Änderung).

Danke skopeko
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: OSM Map in Excel nutzen 
Autor: Souffleurlos
Datum: 12.05.18 19:10

Hallo,

genau das wollte ich wissen: Du bekommst eine "Static-Map!" Um andere Maps zu bekommen benötigst Du einen Key (von Google Maps erhältlich) und dann kannst Du das in Excel einbinden, wie es passt. Diese sind mit einer anderen URL erreichbar.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: OSM Map in Excel nutzen 
Autor: skopeko
Datum: 12.05.18 19:25

Einen Key habe ich mir besorgt aber ich weiss nicht wie ich es dann in Excel einbinden kann. Hast du dazu mal ein Beispiel?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: OSM Map in Excel nutzen 
Autor: Souffleurlos
Datum: 13.05.18 10:05

Hallo Skopeko,

da führen viele Wege zum gleichen Ziel. Ich würde die HTML-Beispiele von Google-Maps,
https://developers.google.com/maps/documentation/javascript/, in eine temporäre Datei auslagern und dann über das Browser-Control.Navigate mittels: File:// ... darauf zugreifen. Das ist am Einfachsten.
Ein gängiges Beispiel von mir kann ich Dir nicht liefern, da ich mich sonst gar nicht mit Geomapping beschäftige.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: OSM Map in Excel nutzen 
Autor: skopeko
Datum: 13.05.18 11:45

Du hattest im zweiten Beitrag schon angesprochen, dass ich "die URL über die Navigate-Methode des Webbrowser Controls ansteuern (alternativ auch über IExplorer.Application - Objekt)." Was ist besser, webbrowser control oder iexplorer.app?
Wie ist das mit der iexplorer.app muss man da auch die Registry ändern damit sie in Excel ≥2010 läuft?
Gbt es nen Chrome control?

Danke
skopeko
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: OSM Map in Excel nutzen 
Autor: Souffleurlos
Datum: 13.05.18 19:53

Hallo Skopeko,
ich weiß ja nicht, wie Du die Sache bisher in Excel dargestellt hast. Willst Du die Sache in die Tabellen einbetten, so bietet sich auf alle Fälle an das über OLE zu machen. Eben das Webbrowser Control in die entsprechende Cell-Addresse einzubetten. Auch wenn Du eine UserForm verwendest. Hast du es aber in einem eigenen, von den Tabellen unabhängigen Window, so bietet sich IExplorer.Application an. Über WithEvents kannst Du aus Excel heraus die Tätigkeit des IExplorer kontrollieren. Hierbei muss IExplorer.Application über ein Klassenmodul heraus instanziert werden, weil Du nur hier die Events verarbeiten kannst.

Private WithEvents objIExplore AS IExplorer.Application

Set objExplore = CreateObject("IExplorer.Application")

Dann mit der Navigate Methode deinen Key aufrufen und die Sache läuft rund. Allerdings beachten, dass IExplorer - egal wie Du es verwendest - eine Zeit braucht, bis die Webseite vollständig geladen ist.

Die Eigenschaft "Busy" (Boolean) in einer Schleife abfragen bis sie False ist, oder das Event: NewDocument auswerten.

Zur anderen Frage: Wie Du IExplorer.Application verwendest ist nicht von irgendwelchen Einträgen in der Registry abhängig - sondern: Wie du die Internet-Controls anzeigst ist von Interesse.

Geschrieben habe ich schon, dass ich leider kein eigenes Beispiel zur Goggle Maps parat habe, deshalb schreibe ich über Grundlegendes.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: OSM Map in Excel nutzen 
Autor: skopeko
Datum: 14.05.18 11:43

Ich hatte dir im meiner ersten Antwort mal geschrieben wie ich die Dartstellung mache
Sheets("Sheet1").Shapes("gMap").Fill.UserPicture url
Ich wollte erstmal nur ein Beispiel für den InternetExplorer haben.

Zum Testen geht es so.
Modul erstellen

Sub tester()
    Dim c As Class1
    Set c = New Class1
End Sub
Klasse erstellen
Option Explicit
 
Dim WithEvents ie As InternetExplorer
 
Private Sub Class_Initialize()
    Set ie = CreateObject("InternetExplorer.Application")
    ie.Visible = True
    ie.Navigate "http://www.google.de"
    While ie.Busy
        DoEvents
    Wend
    Set ie = Nothing
End Sub
Wichtig ist noch die Verweise zu setzen.
- Microsoft Internet Controls
- Microsoft HTML Object Library

Bleibt noch die Frage ob man das auch mit Google Chrome machen kann. Ich denke nicht.
Kann man den IE auch anstatt in einem komplett neuen IE Window auch auf einer Form anzeigen?


Danke Skopeko

Beitrag wurde zuletzt am 14.05.18 um 11:55:56 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: OSM Map in Excel nutzen 
Autor: Tom_1981
Datum: 29.11.18 16:37

Hi, es ist zwar schon ein paar Monate her, aber gibt es ein Add in für Excel oder habt ihr eins geschrieben damit ich OSM Maps einbinden kann? In Excel gibt es ja die Funktion PowerMap welches über Bing läuft, sowas mit OSM geht das? Habt Ihr einen Tipp oder ein Add in?

Danke euch

Liebe Grüße

Thomas
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel