| |
Fortgeschrittene ProgrammierungOSM 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 | |
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). | |
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 | |
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. | |
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? | |
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. | |
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 | |
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. | |
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. | |
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 | |
| 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 |
|
|
Neu! sevCoolbar 3.0
Professionelle Toolbars im modernen Design!
Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|
|
|
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
|
|