Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Google Maps einbinden (https://www.delphipraxis.net/180685-google-maps-einbinden.html)

champagner 8. Jun 2014 12:12

Google Maps einbinden
 
Hallo,

ich möchte eine sehr einfache App schreiben:

1. Auf Button1.Click soll sich Google Maps laden und meine aktuelle Position anzeigen.
2. GLEICHZEITIG soll genau diese Google Maps Karte 3 von mir definierte Marker anzeigen (also interessante Orte, die in der Nähe meiner aktuellen Position liegen).
3. Ich kann nur Delphi, nicht Java, würde aber selbstredend versuchen, mich in ein Skriptbeispiel einzuarbeiten.

Mein Code bisher (anzeigen der aktuellen Position), Code aus Tutorial:

Code:
procedure TForm2.LocationSensor1LocationChanged(Sender: TObject;
  const OldLocation, NewLocation: TLocationCoord2D);
  var
    URLString: String;
    URLLoadFile : TStringList;
begin
Label3.Text:= Format('%2.6f', [NewLocation.Latitude]);
Label4.Text:= Format('%2.6f', [NewLocation.Longitude]);

URLLoadFile := TStringList.Create;
URLLoadFile.Add('<iframe');
URLLoadFile.Add(' width="' + WebBrowser1.Width.ToString + '"');
URLLoadFile.Add(' height="' + WebBrowser1.Height.ToString + '"');
URLLoadFile.Add(' frameborder="0" style="border:0"' );

//URLLoadFile.Add('src=' + Format('https://maps.google.com/maps?q=%s,%s&output=embed',[Format('%2.6f', [NewLocation.Latitude]), Format('%2.6f', [NewLocation.Longitude])]) + '>');
URLLoadFile.Add('src=' + 'https://maps.google.com/maps?q=48.903875,9.205123&output=embed' + '>');


URLLoadFile.Add('</iframe>');
URLLoadFile.SaveToFile( 'sdcard/URLLoadFile.html');
// Show Map using Google Maps
URLString := 'file://sdcard/URLLoadFile.html';
Label5.Text := Format('https://maps.google.com/maps?q=%s,%s&output=embed',[Format('%2.6f', [NewLocation.Latitude]), Format('%2.6f', [NewLocation.Longitude])]);


WebBrowser1.Navigate(URLString);
//WebBrowser1.Navigate('https://maps.google.com/maps?q=48.903875,9.205123&output=embed');


URLLoadFile.Free;

end;

Wie bekomme ich jetzt die Marker in die Maps?


Herzlichen Dank!

nuclearping 8. Jun 2014 15:35

AW: Google Maps einbinden
 
Wenn du mit "Marker" eigene "POI" meinst (Points of Interest), dann kannst du das mit Delphi nicht machen, sondern kommst um ein wenig JavaScript (was nicht wirklich was mit Java zu tun hat) nicht rum.

Du musst deine URLLoadFile.html entsprechend mit JavaScript (oder jQuery) erweitern, damit vom Browser (bzw. der Browser-Instanz in deiner Anwendung) die Marker platziert werden können, wenn die Map geladen wurde.

Wie das funktioniert sieht man zB hier:

https://developers.google.com/maps/t...custom-markers
https://developers.google.com/maps/d...-symbol-custom

manfred_h 9. Jun 2014 06:33

AW: Google Maps einbinden
 
Hallo Champagner
Schau Dir doch dies mal an :
http://www.delphipraxis.net/157004-g...ect-model.html

Shalom Manfred

Aviator 9. Jun 2014 11:08

AW: Google Maps einbinden
 
Zitat:

Zitat von manfred_h (Beitrag 1261746)
Hallo Champagner
Schau Dir doch dies mal an :
http://www.delphipraxis.net/157004-g...ect-model.html

Shalom Manfred

Das hätte ich ja auch vorgeschlagen, aber ich habe die Vermutung, dass er das Programm/die App unter iOS oder Android programmieren will. Ob COM unter diesen beiden Systemen läuft weiß ich allerdings nicht. Ich würde behaupten, nein.

Zitat:

Zitat von champagner (Beitrag 1261718)
ich möchte eine sehr einfache App schreiben:

Zitat:

Zitat von champagner (Beitrag 1261718)
2. GLEICHZEITIG soll genau diese Google Maps Karte 3 von mir definierte Marker anzeigen (also interessante Orte, die in der Nähe meiner aktuellen Position liegen).

Aber ich kann mich natürlich in beiden Punkten irren, was für den TE natürlich optimal wäre. :-D

nuclearping 9. Jun 2014 14:20

AW: Google Maps einbinden
 
Zitat:

Zitat von manfred_h (Beitrag 1261746)
Hallo Champagner
Schau Dir doch dies mal an :
http://www.delphipraxis.net/157004-g...ect-model.html

Shalom Manfred

Sehr schön, kannte ich noch nicht. :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz