AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Google Maps über COM (Component Object Model)

Google Maps über COM (Component Object Model)

Ein Thema von Thom · begonnen am 23. Dez 2010 · letzter Beitrag vom 22. Mai 2022
Antwort Antwort
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#1

AW: Google Maps über COM (Component Object Model)

  Alt 9. Jun 2011, 18:24
Jetzt hast Du leider immer noch nicht geschrieben, welchen Player Du zur Darstellung der OSM-Karten verwenden willst: Google Maps (damit meine ich nicht die Karten selbst, sondern das Ding, das die Karten anzeigt und für das der Wrapper geschrieben wurde) oder OpenLayers.

Das geht - wie schon geschrieben - mit beidem, ist aber ein Unterschied bei der Programmierung:
  • Mit Google Maps und dem Framework ist es jetzt schon möglich, (fertig gerenderte) Karten aus dem OSM-Projekt anzuzeigen. Da bedeutet aber trotzdem bei kommerziellen Projekten Lizenzkosten an Google, da ja desses API zur Anwendung kommt - auch wenn es fremde Karten sind. Das würde ich zumindest vermuten - ich bin aber kein Rechtsanwalt. Eine Anfrage bei Google würde da Klarheit bringen.
  • Die Wrapper für OpenLayers existieren nur im Ansatz - es würde deshalb eine ganze Weile dauern, dessen API in Delphi nachzubilden. Diese Variante hätte allerdings den Vorteil, ohne Lizenzkosten auszukommen - außer eventuell einer Spende an das OSM-Projekt...

Zur Frage online/offline:
Es kommt darauf an, ob Du nur einen Bereich oder die komplette Karte offline verwenden willst. Davon hängt nämlich die Kapazität Deiner Festplatte ab: In Zoomstufe 15 besteht eine Karte zum Beispiel aus (2^15*256)^2=70.368.744.177.664 Pixeln und ist damit ein Terrapixel-Bild
Eine andere Möglichkeit besteht darin, nur die geometrischen Kartendaten lokal zu speichern und daraus selbst eine Karte zu rendern. Dafür gibt's fertige Lösungen - zum Beispiel Maperitive.

Insofern ist natürlich eine Onlinevariante, die sich einfach die fertigen Kartenteile von den entsprechenden Servern holt, leichter zu realisieren.

Für Marker können auch eigene Bilder verwendet werden und damit auch solche, die zum Beispiel einen Buchstaben oder eine Zahl enthalten. Dafür empfehle ich den Artikel Delphi und Google Maps (Teil 3) in der Toolbox 3/2011, in dem es genau um dieses Thema geht.
Thomas Nitzschke
Google Maps mit Delphi

Geändert von Thom ( 9. Jun 2011 um 19:08 Uhr)
  Mit Zitat antworten Zitat
BBoy

Registriert seit: 17. Jan 2007
418 Beiträge
 
Delphi 10 Seattle Professional
 
#2

AW: Google Maps über COM (Component Object Model)

  Alt 9. Jun 2011, 19:06
Wegen dem Player verstehe ich nicht wirklich was du meinst. Ich nutze einfach deine Api, denke das es dann der google Player ist oder?
Genau genommen geht es mir immer nur um einen kleinen Kartenausschnitt den ich benötige. Vielleicht eine Kleinstadt groß. Aber ich benötige halt immer wieder andere Kartenteile von anderen Orten. Das ganze benötige ich auch nur weil google maps leider nicht kleine wege anzeigt, die mir aber wichtig sind.
Die Garmin Topo 2010 Karten habe ich mir mal gekauft da diese echt die besten sind. da ist jeder kleine Weg drauf und ist voll routingfähig. Da sind lauter .img dateien dabei und eine basemap. Kann man das irgendwie verwenden?
Hast du da ein Idee ob und wie in etwas man so was realisieren könnte?

Wegen den Markern, ich verwende schon eigene Marker die ich mit Google.Maps.MarkerImage einbinde. Diese sollen jedoch dynamisch nummeriert werden. Ich bringe die in eine Reihenfolge und in dieser sollen die dann per buttonklick nummeriert (oder sonst wie benannt) werden. Da es sich auch um mehere verschiedene Marker handelt ist eine feste Nummerierung keine option.
Was gibt es da noch für Möglichkeiten?

Geändert von BBoy ( 9. Jun 2011 um 19:13 Uhr)
  Mit Zitat antworten Zitat
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#3

AW: Google Maps über COM (Component Object Model)

  Alt 9. Jun 2011, 20:01
Wegen dem Player verstehe ich nicht wirklich was du meinst. Ich nutze einfach deine Api, denke das es dann der google Player ist oder?
Ja. Jetzt habe ich das verstanden.
Zur Erklärung: Die Karten sind die eine Seite - die andere das Programm, das die Karten anzeigt. Ich nenne diese einfach allgemein "Player" - in Analogie zu Multimediaplayern wie zum Beispiel Windows Media Player oder DivX Player. Ob es dafür bei Geo-Daten eine einheitliche Bezeichnung gibt, weiß ich nicht. Ich lasse mich da aber gern belehren...
Für Google Maps gibt es offiziell das JavaScript-API (zu dem ich den Wrapper geschrieben habe), das dazu dient, die Karten von Google innerhalb eines Browsers darzustellen und das API für Flash.
Insofern sind die Begriffe API und Player Synonyme für die selbe Sache.

Genau genommen geht es mir immer nur um einen kleinen Kartenausschnitt den ich benötige. Vielleicht eine Kleinstadt groß. Aber ich benötige halt immer wieder andere Kartenteile von anderen Orten. Das ganze benötige ich auch nur weil google maps leider nicht kleine wege anzeigt, die mir aber wichtig sind.
Die Garmin Topo 2010 Karten habe ich mir mal gekauft da diese echt die besten sind. da ist jeder kleine Weg drauf und ist voll routingfähig. Da sind lauter .img dateien dabei und eine basemap. Kann man das irgendwie verwenden?
Die Garmin Karten würde ich aus lizenzrechtlichen Gründen nicht verwenden (hatte ich schon einmal geschrieben).
Allerdings besitzen OSM-Karten teilweise eine bessere Qualität (Genauigkeit, Details) als Google-Karten. Das müßtest Du mal für den Bereich, der Dich interessiert, visuell überprüfen.
Hast du da ein Idee ob und wie in etwas man so was realisieren könnte?
Die Anzeige von OSM-Karten mit dem Google Maps API funktioniert. Im Anhang befindet sich eine Demo, die eigentlich nicht zur Veröffentlichung bestimmt war (deshalb auch nur als compilierte EXE) und mir dazu diente, einige Designstudien vorzunehmen. Aber sie zeigt auch, daß die Verwendung von OSM-Karten kein Problem ist.
Wegen den Markern, ich verwende schon eigene Marker die ich mit Google.Maps.MarkerImage einbinde. Diese sollen jedoch dynamisch nummeriert werden. Ich bringe die in eine Reihenfolge und in dieser sollen die dann per buttonklick nummeriert (oder sonst wie benannt) werden. Da es sich auch um mehere verschiedene Marker handelt ist eine feste Nummerierung keine option.
Was gibt es da noch für Möglichkeiten?
Ja - Toolbox lesen und zugehörige Beispiele ansehen.
Angehängte Dateien
Dateityp: zip OSMandGoogleMaps.zip (996,0 KB, 165x aufgerufen)
Thomas Nitzschke
Google Maps mit Delphi

Geändert von Thom ( 9. Jun 2011 um 20:21 Uhr)
  Mit Zitat antworten Zitat
BBoy

Registriert seit: 17. Jan 2007
418 Beiträge
 
Delphi 10 Seattle Professional
 
#4

AW: Google Maps über COM (Component Object Model)

  Alt 9. Jun 2011, 20:41
Danke für die ausführliche Antwort.
Werde mir die Demos der Toolbox mal ansehen, kaufen werde ich mir die Zeitung aber deswegen nicht

Habe mir die angehängte exe mal angesehen. Diese "Mapnik" Map wäre für mich schon ok (zumindest besser als die google map). Wenn ich jetzt noch wüsste wie ich die in mein Programm bekomme mit deiner Api wäre ich glücklich Hast du da eine Idee??
  Mit Zitat antworten Zitat
movnet

Registriert seit: 8. Jan 2011
4 Beiträge
 
#5

AW: Google Maps über COM (Component Object Model)

  Alt 10. Jun 2011, 19:16
Hi Thom.
Thank you very much for your work.
Tell me how to add waypoint in the DirectionsRequest(TDirectionsRequest)?
Thanks!

Geändert von movnet (10. Jun 2011 um 19:28 Uhr)
  Mit Zitat antworten Zitat
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#6

AW: Google Maps über COM (Component Object Model)

  Alt 10. Jun 2011, 19:30
@BBoy:

Gib mit bitte etwas Zeit: Ich werde versuchen, eine Lösung zu posten.

@movnet:

Thank you!
This is with version 1.1 of the framework unfortunately not possible. If you give me your email address via PM I will send you an updated version and an example.
Thomas Nitzschke
Google Maps mit Delphi

Geändert von Thom (10. Jun 2011 um 19:34 Uhr)
  Mit Zitat antworten Zitat
BlueLiquidCell

Registriert seit: 29. Jun 2010
63 Beiträge
 
Delphi 2 Desktop
 
#7

AW: Google Maps über COM (Component Object Model)

  Alt 22. Jun 2011, 21:28
Hey Thomas

Hätte nochmal ne Frage zum Overlay.

Hab das so geändert wie dus geschrieben hattest, dann funktioniert es auch, aber sobald ich die NE oder SW Bounds änder geht es nicht mehr.

Würde gern folgendes haben:
Delphi-Quellcode:
Center:=Google.Maps.LatLng(55.00,6.00); //Kartenmittelpunkt
....
NEBound:=Google.Maps.LatLng(55.00,6.00); //nord-östliche Overlayecke
SWBound:=Google.Maps.LatLng(53.00,9.00); //süd-westliche Overlayecke
Bounds:=Google.Maps.LatLngBounds(SWBound,NEBound); //Overlaybegrenzung
SrcImage:='C:\1.jpg';
USGSOverlay.Create(Bounds,SrcImage,Map);
Wäre super wenn du mir helfen kannst.

Danke
Christoph
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

(?)

LinkBack to this Thread

Erstellt von For Type Datum
DELPHI | (google maps) This thread Refback 11. Nov 2011 09:07
Twebbrowser HTML tag to UniHTMLFrame1 - uniGUI Discussion Forums This thread Refback 4. Nov 2011 06:52
DoraDev1975: google maps This thread Refback 23. Sep 2011 08:18
delphi osm - Google Search Post #0 Refback 19. Sep 2011 09:02
DoraDev1975: ?ิ????? 2011 This thread Refback 11. Sep 2011 16:39
DoraDev1975 This thread Refback 30. Aug 2011 10:13
Untitled document This thread Refback 25. Jun 2011 19:57
Interact with Google Maps in a TWebBrowser from Delphi | Ramblings This thread Refback 26. Jan 2011 05:12
google maps mit delphi link - Google Search This thread Refback 24. Jan 2011 14:24
google maps mit delphi - Google Search This thread Refback 24. Jan 2011 14:20
Untitled document This thread Refback 19. Jan 2011 21:49

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz