El servicio Google Static Map permite obtener una imagen estática de una localización sin requerir Javascript y sin cargar ninguna página web. Este servicio crea un mapa basado en los parámetros de la URL enviados desde una petición HTTP estándar.
Lo único que necesitamos es un componente TidHttp y un Timage.
Primeramente necesitamos poner la propiedad UserAgent de TidHttp p.ej: Mozilla/3.0, después se necesita construir la url con los parámetros correctos como puede ser lo siguiente:
http://maps.google.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&sensor=false
Ahora utilizando el componente TidHttp enviamos la Url anterior y obtenemos la imagen del mapa.
var
StreamData :TMemoryStream;
JPEGImage : TJPEGImage;
begin
EditURL.Text:=buildUrl; //Construye la url con los parámetros
StreamData := TMemoryStream.Create;
JPEGImage := TJPEGImage.Create;
try
try
idhttp1.Get(EditURL.Text, StreamData); /Envía la petición y obtiene la imagen
StreamData.Seek(0,soFromBeginning);
JPEGImage.LoadFromStream(StreamData);//carga la imagen en el stream
ImageMap.Picture.Assign(JPEGImage);//Asigna la imagen al objeto ImageMap
Except On E : Exception Do
MessageDlg('Exception: '+E.Message,mtError, [mbOK], 0);
End;
finally
StreamData.free;
JPEGImage.Free;
end;
end;
Código fuente
Guía para desarrolladores de Google Static Map
http://code.google.com/intl/es-US/apis/maps/documentation/staticmaps/
No hay comentarios:
Publicar un comentario