Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Google Maps API (https://www.delphipraxis.net/153974-google-maps-api.html)

MiniMax 23. Aug 2010 15:40

Google Maps API
 
Hallo Zusammen,
ich weiß das dieses Thema Tausendfach besprochen worden ist, aber ich komme da nicht weiter. Die html Dokumente funktionieren nicht und haben zuviele futures :P

Ich möchte eigentlich nur die Map in 2d und 3d Satteliten bild anzeigenlassen, und mit hilfe von Markern Koordinaten auslesen. Also ich setze mit der maus ein Marker und von dem möchte ich dann die Koordinaten haben --- nun meine Frage:


Hat jemand a) eine funktionierende Html datei (key habe ich) und b) einen Code wie ich diese funktionen realisieren kann?

Danke im Voraus

Grolle 23. Aug 2010 16:19

AW: Google Maps API
 
Hallo,

was hast du denn bisher gemacht? Hast du dir die Beispiele hier mal angeschaut bzw. das Tutorial schon gemacht? Für die v3 braucht man übrigens auch keinen Key mehr.

Viele Grüße ...

MiniMax 23. Aug 2010 16:35

AW: Google Maps API
 
ja aber wie bekomme ich dass in Dlephi? Habe immer nur bsp gesehen mit code ??

franktron 23. Aug 2010 16:38

AW: Google Maps API
 
Zitat:

Zitat von MiniMax (Beitrag 1044396)
ja aber wie bekomme ich dass in Dlephi? Habe immer nur bsp gesehen mit code ??

Warum fragst du Google nicht mal da gabs letztens sogar im DelphiFeed ein Demo einfach nach Google Map Api Delphi suchen und man findet massig.

Grolle 23. Aug 2010 16:39

AW: Google Maps API
 
Hallo,

in Delphi bekommst du das z. B. mit dem TWebbrowser. Tutorial gibt es hier ...

Viele Grüße ...

Edit: Äh roter Kasten ?!

MiniMax 24. Aug 2010 15:51

AW: Google Maps API
 
hey cool danke nun aber noch ne frage: Wie setzte ich mit der maus nen Marker und wie lese ich die koordinaten des Markers dann aus?

Grolle 24. Aug 2010 16:12

AW: Google Maps API
 
Hast du dir das Api überhaupt mal angesehen?: Accessing Arguments in UI Events

MiniMax 24. Aug 2010 16:28

AW: Google Maps API
 
ja das habe ich aber wie bekomme ich die werte in delphi? die müssen ja in eine variable geschrieben werden? Nur wie?

MiniMax 24. Aug 2010 18:44

AW: Google Maps API
 
so nen großeß problem: Habe jetzt versucht den code in delphi 09 zu benutzten aber er zeigt nichts an im Webbrowser??

Kann mir jemand sagen was der fehler ist?

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, SHDocVw, StdCtrls, ExtCtrls, XPMan, ComCtrls,MSHTML;

type
  TForm1 = class(TForm)
    XPManifest1: TXPManifest;
    CheckBoxTraffic: TCheckBox;
    WebBrowser1: TWebBrowser;
    procedure FormCreate(Sender: TObject);
    procedure CheckBoxTrafficClick(Sender: TObject);
  private
    { Private-Deklarationen }
     HTMLWindow2: IHTMLWindow2;

  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation
uses
ActiveX;


{$R *.dfm}


const
HTMLStr: String =
'<html> '+
'<head> '+
'<meta name="viewport" content="initial-scale=1.0, user-scalable=yes" /> '+
'<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script> '+
'<script type="text/javascript"> '+
''+
''+
' var geocoder; '+
' var map; '+
' var trafficLayer;'+
' var bikeLayer;'+
''+
''+
' function initialize() { '+
'   geocoder = new google.maps.Geocoder();'+
'   var latlng = new google.maps.LatLng(40.714776,-74.019213); '+
'   var myOptions = { '+
'     zoom: 13, '+
'     center: latlng, '+
'     mapTypeId: google.maps.MapTypeId.ROADMAP '+
'   }; '+
'   map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); '+
'   trafficLayer = new google.maps.TrafficLayer();'+
'   bikeLayer = new google.maps.BicyclingLayer();'+
' } '+
''+
''+
' function codeAddress(address) { '+
'   if (geocoder) {'+
'     geocoder.geocode( { address: address}, function(results, status) { '+
'       if (status == google.maps.GeocoderStatus.OK) {'+
'         map.setCenter(results[0].geometry.location);'+
'         var marker = new google.maps.Marker({'+
'             map: map,'+
'             position: results[0].geometry.location'+
'         });'+
'       } else {'+
'         alert("Geocode was not successful for the following reason: " + status);'+
'       }'+
'     });'+
'   }'+
' }'+
''+
''+
' function GotoLatLng(Lat, Lang) { '+
'  var latlng = new google.maps.LatLng(Lat,Lang);'+
'  map.setCenter(latlng);'+
'  var marker = new google.maps.Marker({'+
'     position: latlng, '+
'     map: map,'+
'     title:Lat+","+Lang'+
' });'+
' }'+
''+
''+
' function TrafficOn()  { trafficLayer.setMap(map); }'+
''+
' function TrafficOff() { trafficLayer.setMap(null); }'+
''+''+
' function BicyclingOn() { bikeLayer.setMap(map); }'+
''+
' function BicyclingOff(){ bikeLayer.setMap(null);}'+
''+
' function StreetViewOn() { map.set("streetViewControl", true); }'+
''+
' function StreetViewOff() { map.set("streetViewControl", false); }'+
''+
''+'</script> '+
'</head> '+
'<body onload="initialize()"> '+
' <div id="map_canvas" style="width:100%; height:100%"></div> '+
'</body> '+
'</html> ';



procedure TForm1.CheckBoxTrafficClick(Sender: TObject);
begin
    if CheckBoxTraffic.Checked then
     HTMLWindow2.execScript('TrafficOn()', 'JavaScript')
    else
     HTMLWindow2.execScript('TrafficOff()', 'JavaScript');
 end;

procedure Tform1.FormCreate(Sender: TObject);
var
  aStream    : TMemoryStream;
begin
   WebBrowser1.Navigate('about:blank');
    if Assigned(WebBrowser1.Document) then
    begin
      aStream := TMemoryStream.Create;
      try
         aStream.WriteBuffer(Pointer(HTMLStr)^, Length(HTMLStr));
         //aStream.Write(HTMLStr[1], Length(HTMLStr));
         aStream.Seek(0, soFromBeginning);
         (WebBrowser1.Document as IPersistStreamInit).Load(TStreamAdapter.Create(aStream));
      finally
         aStream.Free;
      end;
      HTMLWindow2 := (WebBrowser1.Document as IHTMLDocument2).parentWindow;
    end;
end;


end.

Grolle 25. Aug 2010 08:35

AW: Google Maps API
 
Hi,

bei mir läufts. Du musst allerdings bei D2009 auch
Delphi-Quellcode:
const
HTMLStr: AnsiString = ...
verwenden.

Viele Grüße ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:21 Uhr.
Seite 1 von 3  1 23      

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