Ahh - natürlich. Kommando zurück.
Da Du ja schon die Koordinaten vorliegen hast, brauchst Du nicht mehr den Geocoder zu bemühen:
Delphi-Quellcode:
procedure Tfrm_map.btn_Encode_batchClick(Sender: TObject);
var
LatLng: TLatLng;
Lat, Lng: String;
Marker: TMarker;
MarkerOptions: TMarkerOptions;
begin
with Script do
begin
Marker:=nil; //falls keine Daten in der Tabelle vorliegen
DM_map.Map.First;
while not DM_map.Map.Eof do
begin
Lat:=DM_map.Map.FieldByName('POS_LAT').AsString;
Lng:=DM_map.Map.FieldByName('POS_LNG').AsString;
LatLng:=New(Google.Maps.LatLng(StrToFloatDef(Lat,0,'.'),
StrToFloatDef(Lng,0,'.')));
MarkerOptions:=TMarkerOptions.Create;
with MarkerOptions do
begin
Map:=Maps[0];
Position:=LatLng;
end;
Marker:=New(Google.Maps.Marker(MarkerOptions));
MarkerOptions.Free; //momentan noch etwas auf den Speicher achten
//-> in der neuen Version stelle ich auf Interfaces um,
//so daß die Freigabe automatisch erfolgt
LatLng.Free; //gleicher Grund
DM_map.Map.Next;
end;
if assigned(Marker)
then Maps[0].SetCenter(Marker.GetPosition); //nur den letzten Marker zentrieren
end;
end;