Última actualización el 23 setiembre 2015
Versión: 1.5.3.
Versión en inglés.
Introducción
GMLib (Google Maps Library) son una serie de componentes para Delphi/C++ Builder que encapsulan el API de Google Maps y así poder gestionar los mapas de Google de forma sencilla mostrando el resultado en un navegador (TWebBrowser). Enlaces de interés:
Índice
General
Eventos
Componentes
|
Clases de soporte
|
|
|
Ayúdame a ayudarte
¿Te gustan los componentes? ¿Te han servido de ayuda y/o te han facilitado el trabajo? Si la respuesta es sí, entonces ayúdame a seguir ayudándote con una pequeña colaboración para seguir comprando coca-colas para esas noches de insomnio 😛
Gracias por tu comprensión y aportación a la causa 😉
Descargar
Puedes descargarlos desde los siguientes enlaces:
Puedes descargar también los binarios de las demos aquí.
Versiones testeadas
Actualmente, la GMLib está compilada en las siguientes versiones de Delphi/C++Builder
- Delphi 6
- Delphi 7
- Delphi 2007
- Delphi 2009
- Delphi 2010
- RAD Studio XE
- RAD Studio XE2
- RAD Studio XE3
- RAD Studio XE4
- RAD Studio XE5
- RAD Studio XE6
- RAD Studio XE7
- RAD Studio XE8
- RAD Studie Seattle 10
Instalación
Para las referencias de instalación, ver el archivo Install.txt que se encuentra en el directorio raíz de los componentes.
¿Qué hay en el paquete?
En el paquete encontraremos las siguientes carpetas o archivos:
- \ChangesLog.txt
- \Install.txt
- \ProjectGroup por cada versión de Delphi
- \Demos=> carpeta para las demostraciones
- \Docs => documentación en formato OO de las clases de la API de Google Maps que han intervenido en la creación de los componentes.
- \Classes => uml de las clases realizado con el programa WhiteStarUML.
- \GMDoc => archivos para realizar la ayuda con el programa DelphiCodeToDoc y la ayuda en español y inglés en formato CHM.
- \dpk => paquetes de los componentes.
- \lib => unidades compiladas de los componentes (una carpeta por cada versión).
- \Licence => licencia. GNU LESSER GENERAL PUBLIC LICENSE v3.
- \Resources => recursos como imágenes, ficheros de recursos o el HTML del mapa.
- \src => fuentes de los componentes.
Histórico de versiones
Diagrama general de clases
Leyenda
Descripción de símbolos que nos encontraremos en esta ayuda.
Símbolo |
Visibilidad |
+ |
Public |
* |
Published |
|
Deprecated |
Eventos
Evento |
Descripción |
TAfterPageLoaded (+) |
El evento AfterPageLoaded se dispara cuando se carga el código HTML base (parámetro First a true) y cada vez que se carga el mapa (parámetro First a false). Más informaciónCerrar
TAfterPageLoaded = procedure(Sender: TObject; First: Boolean) of object;
|
Parámetro |
Descripción |
Sender |
Objeto al que pertenece. |
First |
A true cuando se carga el código HTML base. A false cuando se carga el mapa de Google Maps. |
|
TBoundsChanged (+) |
El evento OnBoundsChanged se dispara cuando cambia el límite del mapa. Más informaciónCerrar
TBoundsChanged = procedure(Sender: TObject; NewBounds: TLatLngBounds) of object;
|
Parámetro |
Descripción |
Sender |
Objeto al que pertenece. |
NewBounds |
Nuevos límites del mapa. |
|
TLatLngEvent (+) |
El evento TLatLngEvent se usa para los eventos que devuelven una lat/lng en formato de TLatLng y X e Y. Más informaciónCerrar
TLatLngEvent = procedure(Sender: TObject; LatLng: TLatLng; X, Y: Double) of object;
|
Parámetro |
Descripción |
Sender |
Objeto al que pertenece. |
LatLng |
Coordenadas lat/lng. |
X |
Coordenada X. |
Y |
Coordenada Y. |
|
TMapTypeIdChanged (+) |
El evento TMapTypeIdChanged se dispara cuando la propiedad MapTypeId cambia. Más informaciónCerrar
TMapTypeIdChanged = procedure(Sender: TObject; NewMapTypeId: TMapTypeId) of object;
|
Parámetro |
Descripción |
Sender |
Objeto al que pertenece. |
NewMapTypeId |
El nuevo MapTypeId.
TMapTypeId = (mtHYBRID, mtROADMAP, mtSATELLITE, mtTERRAIN);
|
|
TPanoramioClick (+) |
El evento OnPanoramioClick se dispara cuando se pulsa alguna característica de la capa. Más informaciónCerrar
TPanoramioClick = procedure(Sender: TObject; LatLng: TLatLng; PanoramioFeature: TPanoramioFeature) of object;
|
Parámetro |
Descripción |
Sender |
Objeto al que pertenece. |
LatLng |
Coordenadas lat/lng. |
PanoramioFeature |
Objeto TPanoramioFeature que contiene información acerca de la característica pulsada. |
|
TWeatherClick (+) |
El evento OnWeatherClick se dispara cuando se pulsa alguna característica de la capa del tiempo. Más informaciónCerrar
TWeatherClick = procedure(Sender: TObject; LatLng: TLatLng; FeatureDetails: TWeatherFeature) of object;
|
Parámetro |
Descripción |
Sender |
Objeto al que pertenece. |
LatLng |
Coordenadas lat/lng. |
FeatureDetails |
Objeto TWeatherFeature que contiene información acerca de la característica pulsada. |
|
TZoomChanged (+) |
El evento TZoomChanged se dispara cuando la propiedad Zoom cambia. Más informaciónCerrar
TZoomChanged = procedure(Sender: TObject; NewZoom: Integer) of object;
|
Parámetro |
Descripción |
Sender |
Objeto al que pertenece. |
NewZoom |
El nuevo zoom. |
|
TOnLoadFile (*) |
El evento TOnLoadFile se dispara al cargar cada una de las filas del archivo CSV. Más informaciónCerrar
TOnLoadFile = procedure (Sender: TCustomGMMarker; Marker: TCustomMarker; Current, Count: Integer;
var Stop: Boolean) of object;
|
Parámetro |
Descripción |
Sender |
Objecto propietario del elemento de la colección. |
Marker |
Nuevo marcador. |
Current |
Fila actual. |
Count |
Cantidad de filas. |
Stop |
True para detener el proceso. |
|
TAfterLoadFile (*) |
El evento TAfterLoadFile se dispara al terminar de cargar el archivo CSV. Más informaciónCerrar
TAfterLoadFile = procedure (Sender: TCustomGMMarker; Loaded, Count: Integer) of object;
|
Parámetro |
Descripción |
Sender |
Objecto propietario del elemento de la colección. |
Loaded |
Número de filas cargadas. |
Count |
Cantidad de filas. |
|
TLatLngIdxEvent (*) |
El evento TLatLngIdxEvent se dispara cuando cambia una propiedad de un elemento de la colección relacionado a una TLatLng. Más informaciónCerrar
TLatLngIdxEvent = procedure(Sender: TObject; LatLng: TLatLng; Index: Integer;
LinkedComponent: TLinkedComponent) of object;
|
Parámetro |
Descripción |
Sender |
Objecto propietario del elemento de la colección. |
LatLng |
Nueva LatLng del elemento de la colección. |
Index |
Índice dentro del array de elementos. |
LinkedComponent |
Elemento de la colección que cambia. |
|
TLinkedComponentChange (*) |
El evento TLinkedComponentChange se dispara cuando cambia una propiedad de un elemento de la colección. Más informaciónCerrar
TLinkedComponentChange = procedure(Sender: TObject; Index: Integer;
LinkedComponent: TLinkedComponent) of object;
|
Parámetro |
Descripción |
Sender |
Objecto propietario del elemento de la colección. |
Index |
Índice dentro del array de elementos. |
LinkedComponent |
Elemento de la colección que cambia. |
|
TParseData (*) |
El evento TParseData se dispara en cada iteración de la lectura del archivo XML. Más informaciónCerrar
TParseData = procedure(Sender: TObject; ActualNode, CountNodes: Integer; var Continue: Boolean) of object;
|
Parámetro |
Descripción |
Sender |
Objecto propietario del elemento de la colección. |
ActualNode |
Nodo XML actual. |
CountNodes |
Cantidad de nodos a procesar. |
Continue |
Si queremos continuar con el proceso. |
|
Clase TGMMap
Descripción Clase para el acceso al mapa de Google Maps especializada para el navegador TWebBrowser. Más información en Map class Herencia TObject -> TPersistent -> TComponent -> TGMBase -> TCustomGMMap -> TCustomGMMapVCL -> TGMMap Propiedades
Propiedad |
Tipo |
Descripción |
WebBrowser (*) |
TWebBrowser |
Navegador donde se mostrará el mapa de Google Maps. |
Heredadas de TCustomGMMapVCL |
VisualProp (*) |
TVisualProp |
Opciones de configucación visual. |
Heredadas de TCustomGMMap |
Active (*) |
Boolean |
Activa o desactiva el acceso al mapa. |
IntervalEvents (*) |
Integer |
Intervalo de tiempo para comprovar los eventos del mapa. |
Layers (*) |
TLayers |
Capas de Google Maps. |
NonVisualProp (*) |
TNonVisualProp |
Opciones de configucación no visuales. |
Precision (*) |
Integer |
Precisión para los valores de latitud y longitud. 0 = Max precisión, 1..17 decimales de precisión. |
RequiredProp (*) |
TRequiredProp |
Opciones de configucación requeridas. |
StreetView (*) |
TStreetView |
Características del panorama StreetView. |
Heredadas de TGMBase |
AboutGMLib (*) |
string |
Muestra un formulario «Acerca de» con información de la GMLib. |
APIUrl (*) |
string |
Muestra una url a la página del API de Google Maps relacionada. |
Language (*) |
TLang |
Especifica el idioma en que se mostrarán los mensajes de las excepciones mostradas por la clase/componente. Ver valoresCerrar
TLang = (Espanol, English, French, PortuguesBR, Danish, German, Russian);
|
Métodos
Método |
Descripción |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(AOwner: TComponent); override;
|
Parámetro |
Descripción |
AOwner |
Propietario del componente. |
|
Destroy (+) |
Destructor de la clase. Más informaciónCerrar
destructor Destroy; override;
|
|
Heredadas de TCustomGMMapVCL |
SaveToJPGFile (+) |
El método SaveToJPGFile crea una imagen JPG de la página cargada. Más informaciónCerrar
procedure SaveToJPGFile(FileName: TFileName = ''); override;
|
Parámetro |
Descripción |
FileName |
Nombre del archivo JPG. |
|
Heredadas de TCustomGMMap |
DoMap (+) |
Crea el mapa con las opciones especificadas. Más informaciónCerrar
procedure DoMap; virtual;
|
|
GetCenter (+) |
Devuelve la posición mostrada en el centro del mapa. Más informaciónCerrar
procedure GetCenter(LL: TLatLng);
|
Parámetro |
Descripción |
LL |
Centro del mapa. |
|
GetMapTypeId (+) |
Devuelve el MapTypeId del mapa. Más informaciónCerrar
function GetMapTypeId: TMapTypeId;
|
Devuelve |
MapTypeId del mapa
TMapTypeId = (mtHYBRID, mtROADMAP, mtSATELLITE, mtTERRAIN);
|
|
GetZoom (+) |
Devuelve el zoom del mapa. Más informaciónCerrar
function GetZoom: Integer;
|
Devuelve |
Zoom del mapa |
|
LatLngBoundsContains (+) |
Devuelve true si la lat/lng dada está dentro de los límites. Más informaciónCerrar
function LatLngBoundsContains(Lat, Lng: Real; LLB: TLatLngBounds): Boolean; overload;
|
Parámetro |
Descripción |
Lat |
Latitud a comprobar. |
Lng |
Longitud a comprobar. |
LLB |
Límites donde mirar. |
Devuelve |
True si la lat/lng dada está dentro de los límites. |
|
LatLngBoundsContains (+) |
Devuelve true si la TLatLng dada está dentro de los límites. Más informaciónCerrar
function LatLngBoundsContains(LatLng: TLatLng; LLB: TLatLngBounds): Boolean; overload;
|
Parámetro |
Descripción |
LatLng |
TLatLng a comprobar. |
LLB |
Límites donde mirar. |
Devuelve |
True si la TLatLng dada está dentro de los límites |
|
MapLatLngBoundsContains (+) |
Devuelve true si la TLatLng dada está dentro de los límites del mapa. Más informaciónCerrar
function MapLatLngBoundsContains(LatLng: TLatLng): Boolean; overload;
|
Parámetro |
Descripción |
LatLng |
TLatLng a comprobar. |
Devuelve |
True si la TLatLng dada está dentro de los límites del mapa. |
|
LatLngBoundsExtend (+) |
Extiende los límites hasta contener el punto dado. Más informaciónCerrar
procedure LatLngBoundsExtend(LatLng: TLatLng; LLB: TLatLngBounds); overload;
|
Parámetro |
Descripción |
LatLng |
TLatLng a contener. |
LLB |
TLatLngBounds donde se almacenará la información. |
|
LatLngBoundsExtend (+) |
Extiende los límites hasta contener el punto dado. Más informaciónCerrar
procedure LatLngBoundsExtend(Lat, Lng: Real; LLB: TLatLngBounds); overload;
|
Parámetro |
Descripción |
Lat |
Latitud a contener. |
Lng |
Longitud a contener. |
LLB |
TLatLngBounds donde se almacenará la información. |
|
MapLatLngBoundsExtend (+) |
Extiende los límites del mapa hasta contener el punto dado. Más informaciónCerrar
procedure MapLatLngBoundsExtend(LatLng: TLatLng; LLB: TLatLngBounds); overload;
|
Parámetro |
Descripción |
LatLng |
TLatLng a contener. |
LLB |
TLatLngBounds donde se almacenará los nuevos límites del mapa. |
|
LatLngBoundsGetBounds (+) |
Devuelve los límites del mapa. Más informaciónCerrar
procedure LatLngBoundsGetBounds(LLB: TLatLngBounds); overload;
|
Parámetro |
Descripción |
LLB |
TLatLngBounds donde se almacenará la información. |
|
LatLngBoundsGetCenter (+) |
Calcula el centro del TLatLngBounds. Más informaciónCerrar
procedure LatLngBoundsGetCenter(LLB: TLatLngBounds; LL: TLatLng);
|
Parámetro |
Descripción |
LLB |
TLatLngBounds donde mirar. |
LL |
TLatLng que representa el centro. |
|
LatLngBoundsSetBounds (+) |
Establece unos nuevos límites al mapa. Más informaciónCerrar
procedure LatLngBoundsSetBounds(SWLat, SWLng, NELat, NELng: Real); overload;
|
Parámetro |
Descripción |
SWLat |
Latitud suroeste de los límites. |
SWLng |
Longitud suroeste de los límites. |
NELat |
Latitud noreste de los límites. |
NELng |
Longitug noreste de los límites. |
|
LatLngBoundsSetBounds (+) |
Establece unos nuevos límites al mapa. Más informaciónCerrar
procedure LatLngBoundsSetBounds(Bounds: TLatLngBounds); overload;
|
Parámetro |
Descripción |
Bounds |
Nuevos límites. |
|
LatLngBoundsToSpan (+) |
Convierte los límites del mapa en una extensión TLatLng. Más informaciónCerrar
procedure LatLngBoundsToSpan(LL: TLatLng);
|
Parámetro |
Descripción |
LL |
El TLatLng. |
|
PanBy (+) |
Cambia el centro del mapa en la distancia dada en píxels. Más informaciónCerrar
procedure PanBy(x, y: Integer);
|
Parámetro |
Descripción |
x |
Número de píxels a moverse en el eje x. |
y |
Número de píxels a moverse en el eje y. |
|
PanTo (+) |
Cambia el centro del mapa con la lat/lng dada. Más informaciónCerrar
procedure PanTo(const Lat, Lng: Real); overload;
|
Parámetro |
Descripción |
Lat |
Nueva latitud para el centro. |
Lng |
Nueva longitud para el centro. |
|
PanTo (+) |
Cambia el centro del mapa con la TLatLng dada. Más informaciónCerrar
procedure PanTo(LatLng: TLatLng); overload;
|
Parámetro |
Descripción |
LatLng |
Nuevo centro. |
|
PrintNoDialog (+) |
El método PrintNoDialog imprime la página cargada directamente. Sólo para TWebBrowser. Más informaciónCerrar
procedure PrintNoDialog; virtual;
|
|
PrintPageSetup (+) |
El método PrintPageSetup muestra el cuadro de diálogo de configuración de página antes de imprimir la página cargada. Sólo para TWebBrowser. Más informaciónCerrar
procedure PrintPageSetup; virtual;
|
|
PrintPreview (+) |
El método PrintPreview muestra una vista previa antes de imprimir la página cargada. Sólo para TWebBrowser. Más informaciónCerrar
procedure PrintPreview; virtual;
|
|
PrintWithDialog (+) |
El método PrintWithDialog muestra el cuadro de diálogo de impresión antes de imprimir la página cargada. Más informaciónCerrar
procedure PrintWithDialog; virtual;
|
|
SaveToJPGFile (+) |
El método SaveToJPGFile crea una imagen JPG de la página cargada. Más informaciónCerrar
procedure SaveToJPGFile(FileName: TFileName = ''); virtual; abstract;
|
Parámetro |
Descripción |
FileName |
Es el nombre del archivo JPG. |
|
SetCenter (+) |
Cambia el centro del mapa con la lat/lng dada. Más informaciónCerrar
procedure SetCenter(const Lat, Lng: Real); overload;
|
Parámetro |
Descripción |
Lat |
Nueva latitud para el centro. |
Lng |
Nueva longitud para el centro. |
|
SetCenter (+) |
Cambia el centro del mapa con la TLatLng dada. Más informaciónCerrar
procedure SetCenter(LatLng: TLatLng); overload;
|
Parámetro |
Descripción |
LatLng |
Nuevo centro. |
|
Eventos
Evento |
Tipo |
Descripción |
Heredados de TCustomGMMap |
AfterPageLoaded (*) |
TAfterPageLoaded |
El evento AfterPageLoaded se dispara cuando se carga el código HTML base (parámetro First a true) y cada vez que se carga el mapa (parámetro First a false). |
OnActiveChange (*) |
TNotifyEvent |
El evento OnActiveChange se dispara cuando cambia la propiedad Active. |
OnBoundsChanged (*) |
TBoundsChanged |
El evento OnBoundsChanged se dispara cuando cambia el límite del mapa. |
OnCenterChanged (*) |
TLatLngEvent |
El evento OnCenterChanged se dispara cuando cambia el centro del mapa. |
OnClick (*) |
TLatLngEvent |
El evento OnClick se dispara cuando se pulsa en el mapa. |
OnDblClick (*) |
TLatLngEvent |
El evento OnDblClick se dispara cuando se hace una doble pulsación en el mapa. |
OnDrag (*) |
TNotifyEvent |
El evento OnDrag se dispara repetidamente mientras se arrastra el mapa. |
OnDragEnd (*) |
TNotifyEvent |
El evento OnDragEnd se dispara cuando el usuario finaliza el arrastrado del mapa. |
OnDragStart (*) |
TNotifyEvent |
El evento OnDragStart se dispara cuando el usuario empieza a arrastrar el mapa. |
OnIntervalEventsChange (*) |
TNotifyEvent |
El evento OnIntervalEventsChange se dispara cuando cambia la propiedad IntervalEvents. |
OnMapTypeIdChanged (*) |
TMapTypeIdChanged |
El evento OnMapTypeIdChanged se dispara cuando cambia la propiedad MapTypeId. |
OnMouseMove (*) |
TLatLngEvent |
El evento OnMouseMove se dispara cuando el ratón del usuario se desplaza por encima del mapa. |
OnMouseOut (*) |
TLatLngEvent |
El evento OnMouseOut se dispara cuando el ratón del usuario sale del mapa. |
OnMouseOver (*) |
TLatLngEvent |
El evento OnMouseOver se dispara cuando el ratón del usuario entra en el mapa. |
OnPanoramioClick (*) |
TPanoramioClick |
El evento OnPanoramioClick se dispara cuando se pulsa alguna característica de la capa. |
OnPrecisionChange (*) |
TNotifyEvent |
El evento OnPrecisionChange se dispara cuando cambia la propiedad Precision. |
OnRightClick (*) |
TLatLngEvent |
El evento OnRightClick se dispara cuando se pulsa el botón derecho del ratón. |
OnWeatherClick (*) |
TWeatherClick |
El evento OnWeatherClick se dispara cuando se pulsa alguna característica de la capa del tiempo. |
OnZoomChanged (*) |
TZoomChanged |
El evento OnZoomChanged se dispara cuando cambia la propiedad Zoom. |
Clase TLayers
Descripción Clase interna que engloba todos los layers de la API de Google Maps. Herencia TObject -> TPersistent -> TLayers Propiedades
Propiedad |
Tipo |
Descripción |
Bicycling (*) |
TBicycling |
Objeto que contiene las propiedades del layer Bicycling. |
Panoramio (*) |
TPanoramio |
Objeto que contiene las propiedades del layer Panoramio. |
Traffic (*) |
TTraffic |
Objeto que contiene las propiedades del layer Traffic. |
Transit (*) |
TTransit |
Objeto que contiene las propiedades del layer Transit. |
Weather (*) |
TWeather |
Objeto que contiene las propiedades del layer Weather. |
Clase TBicycling
Descripción Clase que encapsula la capa Bicycling. Más información en BicyclingLayer Herencia TObject -> TPersistent -> TBicycling Propiedades
Propiedad |
Tipo |
Descripción |
Show (*) |
Boolean |
Muestra la capa. A true, se muestra la capa, a false se oculta. |
Clase TPanoramio
Descripción Clase que encapsula la capa Panoramio. Más información en The Panoramio Layer (Library) o en PanoramioLayer Herencia TObject -> TPersistent -> TPanoramio Propiedades
Propiedad |
Tipo |
Descripción |
Clickable (*) |
Boolean |
Establece clicables las photos de Panoramio. |
Filtered (*) |
Boolean |
Activa el filtro. |
FilterTag (*) |
string |
Filtro para las fotos de Panoramio mediante la etiqueta Tag. |
FilterUserId (*) |
string |
Filtro para las fotos de Panoramio mediante la etiqueta UserId. |
Show (*) |
Boolean |
Muestra la capa. A true, se muestra la capa, a false se oculta. |
Clase TTraffic
Descripción Clase que encapsula la capa Traffic. Más información en The Traffic Layer o en TrafficLayer class Herencia TObject -> TPersistent -> TTraffic Propiedades
Propiedad |
Tipo |
Descripción |
Show (*) |
Boolean |
Muestra la capa. A true, se muestra la capa, a false se oculta. |
Clase TTransit
Descripción Clase que encapsula la capa Transit. Más información en The Transit Layer o en TransitLayer class Herencia TObject -> TPersistent -> TTransit Propiedades
Propiedad |
Tipo |
Descripción |
Show (*) |
Boolean |
Muestra la capa. A true, se muestra la capa, a false se oculta. |
Clase TWeather
Descripción Clase que encapsula la capa Weather. Más información en The Weather and Cloud Layers (Library) o en WeatherLayer class Herencia TObject -> TPersistent -> TWeather Propiedades
Propiedad |
Tipo |
Descripción |
Clickable (*) |
Boolean |
Indica si la capa es o no clicable. |
LabelColor (*) |
TLabelColor |
Color de las etiquetas sobre la capa weather. Ver valoresCerrar
TLabelColor = (lcBLACK, lcWHITE);
|
Show (*) |
Boolean |
Muestra la capa. A true, se muestra la capa, a false se oculta. |
SuppressInfoWindows (*) |
Boolean |
Suprime el procesamiento de las ventanas de información cuando se hace clic en los iconos del tiempo. |
TemperatureUnit (*) |
TTemperatureUnit |
Unidad usada para la temperatura. Ver valoresCerrar
TTemperatureUnit = (tuCELSIUS, tuFAHRENHEIT);
|
WindSpeedUnit (*) |
TWindSpeedUnit |
Unidad usada para la velocidad del viento. Ver valoresCerrar
TWindSpeedUnit = (wsKILOMETERS_PER_HOUR, wsMETERS_PER_SECOND, wsMILES_PER_HOUR);
|
Clase TNonVisualProp
Descripción Clase que contiene las propiedades no visuales de un mapa de Google Maps. Herencia TObject -> TPersistent -> TNonVisualProp Propiedades
Propiedad |
Tipo |
Descripción |
MapMaker (*) |
Boolean |
A true si se debe usar el mosaico MapMaker en lugar del mosaico normal. |
MaxZoom (*) |
Integer |
Nivel de zoom máximo que será mostrado en el mapa. |
MinZoom (*) |
Integer |
Nivel de zoom mínimo que será mostrado en el mapa. |
Options (*) |
TBoolOptions |
Conjunto de opciones booleanas. Ver valoresCerrar
TBoolOptions = set of TBoolOption;
TBoolOption = (DisableDoubleClickZoom, Draggable, KeyboardShortcuts, NoClear, ScrollWheel);
|
Clase TRequiredProp
Descripción Clase que contiene las propiedades requeridas de un mapa de Google Maps. Herencia TObject -> TPersistent -> TRequiredProp Propiedades
Propiedad |
Tipo |
Descripción |
Center (*) |
TLatLng |
Contiene las coordenadas lat/lng con el centro del mapa. |
MapType (*) |
TMapTypeId |
Indica la vista del mapa. Ver valoresCerrar
TMapTypeId = (mtHYBRID, mtROADMAP, mtSATELLITE, mtTERRAIN);
|
Zoom (*) |
Integer |
Indica el zoom con el que se mostrará el mapa. Valores entre 0 y 15. |
Clase TLatLng
Descripción Un Latng es un punto en coordenadas geográficas: latitud y longitud. Más información en LatLng class Herencia TObject -> TPersistent -> TLatLng Propiedades
Propiedad |
Tipo |
Descripción |
Lat (*) |
Real |
Latitud en grados. |
Lng (*) |
Real |
Longitud en grados. |
Métodos
Método |
Descripción |
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(Lat: Real = 0; Lng: Real = 0); virtual;
|
Parámetro |
Descripción |
Lat |
Latitud. Por defecto 0. |
Lng |
Longitud. Por defecto 0. |
|
IsEqual (+) |
Devuelve True si la LatLng es igual a la pasada por parámetro. Más informaciónCerrar
function IsEqual(Other: TLatLng): Boolean; virtual;
|
Parámetro |
Descripción |
Other |
LatLng a comparar |
Devuelve |
True si son iguales, False en caso contrario. |
|
LatToStr (+) |
Combierte el valor de Lat en una cadena. Más informaciónCerrar
function LatToStr(Precision: Integer = 6): string;
|
Parámetro |
Descripción |
Precision |
Precisión del valor. Por defecto 6. |
Devuelve |
Cadena con la latitud. |
|
LngToStr (+) |
Combierte el valor de Lng en una cadena. Más informaciónCerrar
function LngToStr(Precision: Integer = 6): string;
|
Parámetro |
Descripción |
Precision |
Precisión del valor. Por defecto 6. |
Devuelve |
Cadena con la longitud. |
|
StringToReal (+) |
Dado una cadena, la convierte en un valor real teniendo en cuenta la configuración regional. Más informaciónCerrar
function StringToReal(Value: string): Real;
|
Parámetro |
Descripción |
Value |
Cadena a convertir a real. |
Devuelve |
Real con la conversión. |
|
ToStr (+) |
Combierte la LatLng en una cadena. Más informaciónCerrar
function ToStr(Precision: Integer = 6): string;
|
Parámetro |
Descripción |
Precision |
Precisión de los valores. Por defecto 6. |
Devuelve |
Cadena con la latlng. |
|
ToUrlValue (+) |
Devuelve una cadena con el formato «lat,lng» para la actual LatLng. Por defecto se redondean a 6 decimales los valores lat/lng. Más informaciónCerrar
function ToUrlValue(Precision: Integer = 6): string;
|
Parámetro |
Descripción |
Precision |
Precisión de los valores. Por defecto 6. |
Devuelve |
Cadena con la latlng formateada. |
|
Eventos
Evento |
Tipo |
Descripción |
OnChange (+) |
TNotifyEvent |
El evento OnChange se dispara cuando Lat o Lng cambia. |
Clase TLatLngBounds
Descripción Una instancia de la clase LatLngBounds representa un rectángulo en coordenadas geográficas. Más información en LatLngBounds class Herencia TObject -> TPersistent -> TLatLngBounds Propiedades
Propiedad |
Tipo |
Descripción |
NE (*) |
TLatLng |
Coordenadas noreste. |
SW (*) |
TLatLng |
Coordenadas suroeste. |
Métodos
Método |
Descripción |
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(SWLat: Real = 0; SWLng: Real = 0; NELat: Real = 0; NELng: Real = 0); overload; virtual;
|
Parámetro |
Descripción |
SWLat |
Latitud suroeste. Por defecto 0. |
SWLng |
Longitud suroeste. Por defecto 0. |
NELat |
Latitud noreste. Por defecto 0. |
NELng |
Longitud noreste. Por defecto 0. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(SW, NE: TLatLng); overload; virtual;
|
Parámetro |
Descripción |
SW |
Esquena suroeste. |
NE |
Esquena noreste. |
|
IsEqual (+) |
Devuelve True si los límites son iguales a los pasados por parámetro. Más informaciónCerrar
function IsEqual(Other: TLatLngBounds): Boolean;
|
Parámetro |
Descripción |
Other |
Límites a comparar. |
Devuelve |
True si son iguales, False en caso contrario |
|
ToStr (+) |
Combierte los límites en una cadena. Más informaciónCerrar
function ToStr(Precision: Integer = 6): string;
|
Parámetro |
Descripción |
Precision |
Precisión de los valores. Por defecto 6. |
Devuelve |
Cadena con los límites. |
|
ToUrlValue (+) |
Devuelve una cadena con el formato «lat_lo,lng_lo,lat_hi,lng_hi» para los límites actuales, donde «lo» corresponde a la esquena suroeste de los límites y «hi» corresponde a la esquina noreste de los límites. Más informaciónCerrar
function ToUrlValue(Precision: Integer = 6): string;
|
Parámetro |
Descripción |
Precision |
Precisión de los valores. Por defecto 6. |
Devuelve |
Cadena formateada. |
|
Clase TPanoramioFeature
Descripción Clase que encapsula las caracretísticas de Panoramio. Más información en PanoramioFeature object specification. Herencia TObject -> TPanoramioFeature Propiedades
Propiedad |
Tipo |
Descripción |
Author (+) |
string |
Autor de la foto. |
PhotoId (+) |
string |
Id de la foto. |
Title (+) |
string |
Título de la foto. |
Url (+) |
string |
Enlace de la foto. |
UserId (+) |
string |
Id del usuario de la foto. |
Clase TWeatherFeature
Descripción Clase que encapsula las características metereológicas. Más información en WeatherFeature object specification. Herencia TObject -> TWeatherFeature Propiedades
Propiedad |
Tipo |
Descripción |
Count (+) |
Integer |
Cantidad de Forecast. |
Current (+) |
TWeatherConditions |
Condiciones meterielógicas actuales en una determinada hubicación. |
Forecast (+) |
[Index: Integer]: TWeatherForecast |
Pronóstico de las condiciones metereológicas para los siguientes cuatro días. La proyección es siempre cronológica. |
Location (+) |
string |
Nombre de la hubicación de esta característica. |
TemperatureUnit (+) |
TTemperatureUnit |
Unidad de temperatura usada. Ver valoresCerrar
TTemperatureUnit = (tuCELSIUS, tuFAHRENHEIT);
|
WindSpeedUnit (+) |
TWindSpeedUnit |
Unidades de velocidad usada. Ver valoresCerrar
TWindSpeedUnit = (wsKILOMETERS_PER_HOUR, wsMETERS_PER_SECOND, wsMILES_PER_HOUR);
|
Clase TWeatherConditions
Descripción Clase que encapsula las condiciones meteriológicas. Más información en WeatherConditions object specification. Herencia TObject -> TWeatherConditions Propiedades
Propiedad |
Tipo |
Descripción |
Day (+) |
string |
Día actual de la semana en formato largo. |
Description (+) |
string |
Descripción de las condiciones. |
High (+) |
Integer |
Temperatura más alta alcanzada del día. |
Humidity (+) |
Integer |
Humedad actual expresada en porcentaje. |
Low (+) |
Integer |
Temperatura mínima alcanzada durante el día. |
ShortDay (+) |
string |
Día actual de la semana en formato corto. |
Temperature (+) |
Integer |
Temperatura actual expresada en la unidad de temperatura especificada. |
WindDirection (+) |
string |
Dirección del viento actual. |
WindSpeed (+) |
Integer |
Velocidad del viento actual expresado en la unidad de viento especificada. |
Clase TWeatherForecast
Descripción Clase que encapsula la previsión metereológica. Más información en WeatherForecast object specification. Herencia TObject -> TWeatherForecast Propiedades
Propiedad |
Tipo |
Descripción |
Day (+) |
string |
Día actual de la semana en formato largo. |
Description (+) |
string |
Descripción de las condiciones. |
High (+) |
Integer |
Temperatura más alta alcanzada del día. |
Low (+) |
Integer |
Temperatura mínima alcanzada durante el día. |
ShortDay (+) |
string |
Día actual de la semana en formato corto. |
Clase TVisualProp
Descripción Clase interna que contendrá las propiedades visuales de un mapa de Google Maps. Herencia TObject -> TPersistent -> TCustomVisualProp -> TVisualProp Propiedades
Clase TMapTypeControlOptions
Descripción Clase interna que contendrá las opciones del MapTypeControl del mapa. Más información en MapTypeControlOptions object specification. Herencia TObject -> TPersistent -> TMapTypeControlOptions Propiedades
Propiedad |
Tipo |
Descripción |
MapTypeIds (*) |
TMapTypeIds |
Conjunto de todos los MapTypeId. Ver valoresCerrar
TMapTypeIds = set of TMapTypeId;
TMapTypeId = (mtHYBRID, mtROADMAP, mtSATELLITE, mtTERRAIN);
|
Position (*) |
TControlPosition |
Posición del control dentro del mapa. Ver valoresCerrar
TControlPosition = (cpBOTTOM_CENTER, cpBOTTOM_LEFT, cpBOTTOM_RIGHT,
cpLEFT_BOTTOM, cpLEFT_CENTER, cpLEFT_TOP,
cpRIGHT_BOTTOM, cpRIGHT_CENTER, cpRIGHT_TOP,
cpTOP_CENTER, cpTOP_LEFT, cpTOP_RIGHT);
|
Show (*) |
Boolean |
Muestra el control. A true, el control se muestra, a false se oculta. |
Style (*) |
TMapTypeControlStyle |
Estilo del control. Ver valoresCerrar
TMapTypeControlStyle = (mtcDEFAULT, mtcDROPDOWN_MENU, mtcHORIZONTAL_BAR);
|
Clase TOverviewMapControlOptions
Descripción Clase interna que contendrá las opciones del OverviewMapControl del mapa. Más información en OverviewMapControlOptions object specification. Herencia TObject -> TPersistent -> TOverviewMapControlOptions Propiedades
Propiedad |
Tipo |
Descripción |
Opened (*) |
Boolean |
Estado del control, cerrado o abierto. |
Show (*) |
Boolean |
Muestra el control. A true, el control se muestra, a false se oculta. |
Clase TPanControlOptions
Descripción Clase interna que contendrá las opciones del PanControl del mapa. Más información en PanControlOptions object specification. Herencia TObject -> TPersistent -> TPanControlOptions Propiedades
Propiedad |
Tipo |
Descripción |
Position (*) |
TControlPosition |
Posición del control dentro del mapa. Ver valoresCerrar
TControlPosition = (cpBOTTOM_CENTER, cpBOTTOM_LEFT, cpBOTTOM_RIGHT,
cpLEFT_BOTTOM, cpLEFT_CENTER, cpLEFT_TOP,
cpRIGHT_BOTTOM, cpRIGHT_CENTER, cpRIGHT_TOP,
cpTOP_CENTER, cpTOP_LEFT, cpTOP_RIGHT);
|
Show (*) |
Boolean |
Muestra el control. A true, el control se muestra, a false se oculta. |
Clase TRotateControlOptions
Descripción Clase interna que contendrá las opciones del RotateControl del mapa. Más información en RotateControlOptions object specification. Herencia TObject -> TPersistent -> TRotateControlOptions Propiedades
Propiedad |
Tipo |
Descripción |
Position (*) |
TControlPosition |
Posición del control dentro del mapa. Ver valoresCerrar
TControlPosition = (cpBOTTOM_CENTER, cpBOTTOM_LEFT, cpBOTTOM_RIGHT,
cpLEFT_BOTTOM, cpLEFT_CENTER, cpLEFT_TOP,
cpRIGHT_BOTTOM, cpRIGHT_CENTER, cpRIGHT_TOP,
cpTOP_CENTER, cpTOP_LEFT, cpTOP_RIGHT);
|
Show (*) |
Boolean |
Muestra el control. A true, el control se muestra, a false se oculta. |
Clase TScaleControlOptions
Descripción Clase interna que contendrá las opciones del ScaleControl del mapa. Más información en ScaleControlOptions object specification. Herencia TObject -> TPersistent -> TScaleControlOptions Propiedades
Propiedad |
Tipo |
Descripción |
Position (*) |
TControlPosition |
Posición del control dentro del mapa. Ver valoresCerrar
TControlPosition = (cpBOTTOM_CENTER, cpBOTTOM_LEFT, cpBOTTOM_RIGHT,
cpLEFT_BOTTOM, cpLEFT_CENTER, cpLEFT_TOP,
cpRIGHT_BOTTOM, cpRIGHT_CENTER, cpRIGHT_TOP,
cpTOP_CENTER, cpTOP_LEFT, cpTOP_RIGHT);
|
Show (*) |
Boolean |
Muestra el control. A true, el control se muestra, a false se oculta. |
Style (*) |
TScaleControlStyle |
Estilo del control. Ver valoresCerrar
TScaleControlStyle = (scDEFAULT);
|
Clase TStreetViewControlOptions
Descripción Clase interna que contendrá las opciones del StreetViewControl del mapa. Más información en StreetViewControlOptions object specification. Herencia TObject -> TPersistent -> TStreetViewControlOptions Propiedades
Propiedad |
Tipo |
Descripción |
Position (*) |
TControlPosition |
Posición del control dentro del mapa. Ver valoresCerrar
TControlPosition = (cpBOTTOM_CENTER, cpBOTTOM_LEFT, cpBOTTOM_RIGHT,
cpLEFT_BOTTOM, cpLEFT_CENTER, cpLEFT_TOP,
cpRIGHT_BOTTOM, cpRIGHT_CENTER, cpRIGHT_TOP,
cpTOP_CENTER, cpTOP_LEFT, cpTOP_RIGHT);
|
Show (*) |
Boolean |
Muestra el control. A true, el control se muestra, a false se oculta. |
Clase TZoomControlOptions
Descripción Clase interna que contendrá las opciones del ZoomControl del mapa. Más información en ZoomControlOptions object specification. Herencia TObject -> TPersistent -> TZoomControlOptions Propiedades
Propiedad |
Tipo |
Descripción |
Position (*) |
TControlPosition |
Posición del control dentro del mapa. Ver valoresCerrar
TControlPosition = (cpBOTTOM_CENTER, cpBOTTOM_LEFT, cpBOTTOM_RIGHT,
cpLEFT_BOTTOM, cpLEFT_CENTER, cpLEFT_TOP,
cpRIGHT_BOTTOM, cpRIGHT_CENTER, cpRIGHT_TOP,
cpTOP_CENTER, cpTOP_LEFT, cpTOP_RIGHT);
|
Show (*) |
Boolean |
Muestra el control. A true, el control se muestra, a false se oculta. |
Style (*) |
TZoomControlStyle |
Estilo del control. Ver valoresCerrar
TZoomControlStyle = (zcDEFAULT, zcLARGE, zcSMALL);
|
Clase TGMMarker
Descripción Clase para la gestión de marcadores. Herencia TObject -> TPersistent -> TComponent -> TGMBase -> TGMObjects -> TGMLinkedComponent -> TCustomGMMarker -> TGMMarker Propiedades
Propiedad |
Tipo |
Descripción |
Items (+) |
[I: Integer]: TMarker |
Array con la colección de elementos. |
Heredadas de TCustomGMMarker |
VisualObjects (*) |
[I: Integer]: TMarker |
Colección de elementos. |
Heredadas de TGMLinkedComponent |
AutoUpdate (*) |
Boolean |
Si Active, modifica los objetos de forma automática, sino, necesita recargar el mapa. |
Count (+) |
Integer |
Obtienen el número de elementos de la colección. |
Heredadas de TGMObjects |
Map (*) |
TCustomGMMap |
Mapa asociado al componente. |
Heredadas de TGMBase |
AboutGMLib (*) |
string |
Muestra un formulario «Acerca de» con información de la GMLib. |
APIUrl (*) |
string |
Muestra una url a la página del API de Google Maps relacionada. |
Language (*) |
TLang |
Especifica el idioma en que se mostrarán los mensajes de las excepciones mostradas por la clase/componente. Ver valoresCerrar
TLang = (Espanol, English, French, PortuguesBR, Danish, German, Russian);
|
Métodos
Método |
Descripción |
Add (+) |
Crea una nueva instancia de TMarker y la añade en el array de Items. Más informaciónCerrar
function Add(Lat: Real = 0; Lng: Real = 0; Title: string = ''): TMarker;
|
Parámetro |
Descripción |
Lat |
Latitud del marcador. |
Lng |
Longitud del marcador. |
Title |
Título del marcador. |
Devuelve |
Nuevo marcador. |
|
Heredados de TCustomGMMarker |
LoadFromCSV (+) |
Crea instancias de TMarker y las añade en el array de Items. Más informaciónCerrar
procedure LoadFromCSV(LatColumn, LngColumn: Integer; FileName: string;
TitleColumn: Integer = -1; Delimiter: Char = ','; DeleteBeforeLoad: Boolean = True;
WithRownTitle: Boolean = True);
|
Parámetro |
Descripción |
LatColumn |
Columna con la información de la latitud. |
LngColumn |
Columna con información de la longitud. |
FileName |
Nombre del fichero. |
TitleColumn |
Columna con información del título. |
Delimiter |
Delimitador de campos. |
DeleteBeforeLoad |
A true borra los marcadores antes de cargar el fichero. |
WithRownTitle |
Si el fichero tiene una primera fila con el título de las columnas. |
IconColumn |
Columna con información del icono a mostrar. |
|
LoadFromDataSet (+) |
Crea instancias de TMarker y las añade en el array de Items desde un DataSet. Más informaciónCerrar
procedure LoadFromDataSet(DataSet: TDataSet; LatField, LngField: string;
TitleField: string = ''; IconField: string = ''; DeleteBeforeLoad: Boolean = True);
|
Parámetro |
Descripción |
DataSet |
DataSet de donde obtener los datos. |
LatField |
Campo con la información de la latitud. |
LngField |
Campo con información de la longitud. |
TitleField |
Campo con información del título. |
IconField |
Campo con información del icono a mostrar. |
DeleteBeforeLoad |
A true, borra los marcadores antes de cargar el fichero. |
|
ShowElements (+) |
Muestra los objetos en el mapa. Más informaciónCerrar
procedure ShowElements; override;
|
|
ZoomMapToAllMarkers (+) |
Se aplica zoom al mapa para incluir todos los marcadores. Obsoleto. En su lugar usar el método ZoomToPoints. Más informaciónCerrar
procedure ZoomMapToAllMarkers;
|
|
ZoomToPoints (+) |
Establece el zoom óptimo para visualizar todos los marcadores. Más informaciónCerrar
procedure ZoomMapToAllMarkers;
|
|
Heredados de TGMLinkedComponent |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(AOwner: TComponent); override;
|
Parámetro |
Descripción |
AOwner |
Propietario del componente. |
|
Destroy (+) |
Destructor de la clase. Más informaciónCerrar
destructor Destroy; override;
|
|
Clear (+) |
Borra todos los elementos de la colección. Más informaciónCerrar |
Delete (+) |
Borra un elemento de la colección. Más informaciónCerrar
procedure Delete(Index: Integer);
|
Parámetro |
Descripción |
Index |
Posición a borrar. |
|
Move (+) |
Mueve un item a una nueva posición dentro del array de Items. Más informaciónCerrar
procedure Move(CurIndex, NewIndex: Integer);
|
Parámetro |
Descripción |
CurIndex |
Índice del elemento a mover. |
NewIndex |
Índice destino. |
|
Eventos
Evento |
Tipo |
Descripción |
Heredados de TCustomGMMarker |
AfterLoadFile (*) |
TOnLoadFile |
Este evento se dispara al terminar de cargar el archivo CSV. |
OnClick (*) |
TLatLngIdxEvent |
Este evento ocurre cuando el usuario pulsa un marcador. |
OnClickableChange (*) |
TLinkedComponentChange |
Este evento se dispara cuando cambia la propiedad Clickable del marcador. |
OnColoredMarkerChange (*) |
TLinkedComponentChange |
Este evento se dispara cuando cambia una propiedad de la propiedad ColoredMarker del marcador. |
OnDblClick (*) |
TLatLngIdxEvent |
Este evento ocurre cuando el usuario hace doble click un marcador. |
OnDrag (*) |
TLatLngIdxEvent |
Este evento se dispara repetidamente mientras el usuario desplaza el marcador. |
OnDragEnd (*) |
TLatLngIdxEvent |
Este evento se dispara cuando el usuario para de desplazar el marcador. |
OnDraggableChange (*) |
TLinkedComponentChange |
Este evento se dispara cuando cambia la propiedad Draggable del marcador. |
OnDragStart (*) |
TLatLngIdxEvent |
Este evento se dispara cuando el usuario empieza a desplazar el marcador. |
OnFlatChange (*) |
TLinkedComponentChange |
Este evento se dispara cuando cambia la propiedad Flat del marcador. |
OnIconChange (*) |
TLinkedComponentChange |
Este evento se dispara cuando cambia la propiedad Icon del marcador. |
OnLoadFile (*) |
TOnLoadFile |
Este evento se dispara cada vez que se carga una fila del archivo CSV. |
OnMouseDown (*) |
TLatLngIdxEvent |
Este evento se dispara al pulsar en el marcador. |
OnMouseOut (*) |
TLatLngIdxEvent |
Este evento se dispara cuando el ratón deja el área del icono del marcador. |
OnMouseOver (*) |
TLatLngIdxEvent |
Este evento se dispara cuando el ratón entra en el área del icono del marcador. |
OnMouseUp (*) |
TLatLngIdxEvent |
Este evento se dispara al soltar el marcador. |
OnPositionChange (*) |
TLatLngIdxEvent |
Este evento se dispara cuando cambia la propiedad Position del marcador. |
OnRightClick (*) |
TLatLngIdxEvent |
Este evento se dispara al hacer click con el botón derecho del ratón en el marcador. |
OnStyledMarkerChange (*) |
TLinkedComponentChange |
Este evento se dispara cuando cambia una propiedad de la propiedad StyledMarker del marcador. |
OnTitleChange (*) |
TLinkedComponentChange |
Este evento se dispara cuando cambia la propiedad Title del marcador. |
OnVisibleChange (*) |
TLinkedComponentChange |
Este evento se dispara cuando cambia la propiedad Visible del marcador. |
Heredados de TGMLinkedComponent |
OnCloseClick (*) |
TLinkedComponentChange |
El evento OnCloseClick se dispara cuando la InfoWindows se cierra manualmente. |
OnCloseOtherBeforeOpenChange (*) |
TLinkedComponentChange |
El evento OnCloseOtherBeforeOpenChange se dispara cuando cambia la propiedad CloseOtherBeforeOpen. |
OnDisableAutoPanChange (*) |
TLinkedComponentChange |
El evento OnDisableAutoPanChange se dispara cuando cambia la propiedad DisableAutoPan. |
OnHTMLContentChange (*) |
TLinkedComponentChange |
El evento OnHTMLContentChange se dispara cuando cambia la propiedad HTMLContent. |
OnMaxWidthChange (*) |
TLinkedComponentChange |
El evento OnMaxWidthChange se dispara cuando cambia la propiedad MaxWidth. |
OnPixelOffsetChange (*) |
TLinkedComponentChange |
El evento OnPixelOffsetChange se dispara cuando cambia la propiedad PixelOffset. |
Clase TMarkers
Descripción Clase para la colección de marcadores. Herencia TObject -> TPersistent -> TCollection -> TLinkedComponents -> TCustomMarkers -> TMarkers Propiedades
Propiedad |
Tipo |
Descripción |
Items (+) |
[I: Integer]: TMarker |
Lista de marcadores en la colección. |
Métodos
Método |
Descripción |
Add (+) |
Crea una nueva instancia de TMarker y la añade en el array de Items. Más informaciónCerrar
function Add: TMarker;
|
Devuelve |
Nuevo marcador. |
|
Insert (+) |
Crea una nueva instancia de TMarker y la añade en el array de Items. Más informaciónCerrar
function Insert(Index: Integer): TMarker;
|
Parámetro |
Descripción |
Index |
Posición en la que insertar. |
Devuelve |
Nuevo marcador. |
|
Heredados de TLinkedComponents |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(GMLinkedComponent: TGMLinkedComponent; ItemClass: TCollectionItemClass); virtual;
|
Parámetro |
Descripción |
GMLinkedComponent |
Propietario de la colección. |
ItemClass |
Clase de los nuevos elementos. |
|
Clase TMarker
Descripción Clase para los marcadores. Más información en Marker class. Herencia TObject -> TPersistent -> TCollectionItem -> TLinkedComponent -> TCustomMarker -> TMarker Propiedades
Propiedad |
Tipo |
Descripción |
ColoredMarker (*) |
Boolean |
Características aplicables cuando el marcador es de tipo mtColored. |
StyledMarker (*) |
TStyledMarker |
Características aplicables cuando el marcador es de tipo mtStyledMarker. |
Heredadas de TCustomMarker |
Animation (*) |
TAnimation |
Tipo de animación para los marcadores. |
Clickable (*) |
Boolean |
Si se establece en true, el marcador recibe eventos del ratón. |
Draggable (*) |
Boolean |
Si se establece en true, el marcador puede desplazarse. |
Flat (*) |
Boolean |
Si se establece en true, no se mostrará la sombra del marcador. |
Icon (*) |
string |
Icono a mostrar. Puede ser una url o un archivo en el PC. Si no se especifica, se mostrará el icono por defecto. |
InfoWindow (*) |
TBaseInfoWindow |
InfoWindows asociado al objeto. |
MarkerType (*) |
TMarkerType |
Tipo de marcador. Ver valoresCerrar
TMarkerType = (mtStandard, mtColored, mtStyledMarker);
|
Optimized (*) |
Boolean |
La optimización hace que muchos marcadores sean como un único elemento estático. |
Position (*) |
TLatLng |
Posición del marcador. |
RaiseOnDrag (*) |
Boolean |
Si se establece a false, deshabilita el subir y bajar del marcador al arrastrarlo. |
ShowInfoWinMouseOver (*) |
Boolean |
Si true, el InfoWindos se muestra cuando el ratón entra en el objeto y se cierra cuando sale. |
Title (*) |
string |
Esta propiedad se usa, si procede, para establecer el nombre que aparece en el editor de la colección y es el texto ayuda que aparece al posicionar el ratón encima del marcador. |
Visible (*) |
Boolean |
Si se establece a true, el marcador será visible. |
ZIndex (*) |
Integer |
Índice dentro de la colección. |
Heredadas de TLinkedComponent |
Tag (*) |
Integer |
La propiedad Tag no tiene un sentido específico. Puede almacenar un valor entero adicional para comodidad del programador. |
Métodos
Método |
Descripción |
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(Collection: TCollection); override;
|
Parámetro |
Descripción |
Collection |
Collection identifica la instancia TCollection a la que pertenece el nuevo elemento. |
|
Heredados de TCustomGMMarker |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
CenterMapToMarker (+) |
Centra el mapa en el marcador. Obsoleta, en su lugar usar CenterMapTo. Más informaciónCerrar
procedure CenterMapToMarker;
|
|
Destroy (+) |
Destructor de la clase. Más informaciónCerrar
destructor Destroy; override;
|
|
Heredados de TLinkedComponent |
CenterMapTo (+) |
Centra el mapa en la ventana de información. Más informaciónCerrar |
OpenCloseInfoWin (+) |
Muestra o oculta la ventana de información. Más informaciónCerrar
procedure OpenCloseInfoWin; virtual;
|
|
Clase TAnimation
Descripción Clase interna para determinar el tipo de animación de un marcador. Herencia TObject -> TPersistent -> TAnimation Propiedades
Propiedad |
Tipo |
Descripción |
Bounce (*) |
Boolean |
Si se establece a true, el marcador rebota hasta parar la animación. |
OnDrop (*) |
Boolean |
Si se establece a true, el marcador cae desde la parte superior del mapa terminando con un pequeño rebote. |
Clase TBaseInfoWindow
Descripción Clase base para ser usada desde otros componentes que representa una ventana de información. Más información en InfoWindow class. Herencia TObject -> TPersistent -> TBaseInfoWindow Propiedades
Propiedad |
Tipo |
Descripción |
CloseOtherBeforeOpen (*) |
Boolean |
Poner a true para cerrar otras ventanas de información abiertas. |
DisableAutoPan (*) |
Boolean |
Deshabilita el auto-pan en abierto. |
HTMLContent (*) |
string |
Contenido a mostrar en la InfoWindow. Éste puede ser un elemento HTML, texto plano, o una cadena que contenga HTML. El InfoWindow se agrandará acorde al contenido. Para especificar unas determinadas medidas para el contenido, establece el contenido como un elemento HTML con esas medidas. |
MaxWidth (*) |
Integer |
Ancho máximo del InfoWindows, independientemente de la anchura del contenido. A 0 sin máximo. |
PixelOffset (*) |
TGMSize |
Offset, en píxeles, del extremo de la ventana de información desde el punto en las coordenadas geográficas en las que se ancla la ventana de información. |
Métodos
Método |
Descripción |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(aOwner: TPersistent); override;
|
Parámetro |
Descripción |
aOwner |
Propietario del objecto. |
|
Destroy (+) |
Destructor de la clase. Más informaciónCerrar
destructor Destroy; override;
|
|
GetConvertedString (+) |
El método GetConvertedString devuelve la propiedad HTMLContent formateada para poder ser pasada por parámetro a una función JavaScript. Más informaciónCerrar
function GetConvertedString: string;
|
Devuelve |
Cadena formateada. |
|
Eventos
Evento |
Tipo |
Descripción |
OnCloseOtherBeforeOpenChange (+) |
TNotifyEvent |
El evento OnCloseOtherBeforeOpenChange se dispara cuando cambia la propiedad CloseOtherBeforeOpen. |
OnDisableAutoPanChange (+) |
TNotifyEvent |
El evento OnDisableAutoPanChange se dispara cuando cambia la propiedad DisableAutoPan. |
OnHTMLContentChange (+) |
TNotifyEvent |
El evento OnHTMLContentChange se dispara cuando cambia la propiedad HTMLContent. |
OnMaxWidthChange (+) |
TNotifyEvent |
El evento OnMaxWidthChange se dispara cuando cambia la propiedad MaxWidth. |
OnPixelOffsetChange (+) |
TNotifyEvent |
El evento OnPixelOffsetChange se dispara cuando cambia la propiedad PixelOffset. |
Clase TStyledMarker
Descripción Características para un marcador de tipo ColoredMarker. Más información en StyledMarker library. Herencia TObject -> TPersistent -> TCustomStyledMarker -> TStyledMarker Propiedades
Propiedad |
Tipo |
Descripción |
BackgroundColor (*) |
TColor |
Color de fondo. |
StarColor (*) |
TColor |
Color de la estrella. |
TextColor (*) |
TColor |
Color del texto. |
Heredadas de TCustomStyledMarker |
ShowStar (*) |
Boolean |
Mostrar o ocultar una estrella en la parte superior derecha del marcador. |
StyledIcon (*) |
TStyledIcon |
Tipo del marcador. Ver valoresCerrar
TStyledIcon = (siMarker, siBubble);
|
Clase TGMSize
Descripción Una instancia de la clase TGMSize representa un tamaño bidimensional. Más información en Size class. Herencia TObject -> TPersistent -> TGMSize Propiedades
Propiedad |
Tipo |
Descripción |
Height (*) |
Integer |
Altura a lo largo del eje y, en píxeles |
Width (*) |
Integer |
La anchura a lo largo del eje x, en píxeles. |
Eventos
Evento |
Tipo |
Descripción |
OnChange |
TNotifyEvent |
El evento OnChange se dispara cuando Height o Width cambia. |
Clase TGMInfoWindow
Descripción Clase para la gestión de InfoWindow. Herencia TObject -> TPersistent -> TComponent -> TGMBase -> TGMObjects -> TGMLinkedComponent -> TGMInfoWindow Propiedades
Propiedad |
Tipo |
Descripción |
Items (+) |
[I: Integer]: TInfoWindow |
Array con la colección de elementos. |
VisualObjects (*) |
[I: Integer]: TInfoWindow |
Colección de elementos. |
Heredadas de TGMLinkedComponent |
AutoUpdate (*) |
Boolean |
Si Active, modifica los objetos de forma automática, sino, necesita recargar el mapa. |
Count (+) |
Integer |
Obtienen el número de elementos de la colección. |
Heredadas de TGMObjects |
Map (*) |
TCustomGMMap |
Mapa asociado al componente. |
Heredadas de TGMBase |
AboutGMLib (*) |
string |
Muestra un formulario «Acerca de» con información de la GMLib. |
APIUrl (*) |
string |
Muestra una url a la página del API de Google Maps relacionada. |
Language (*) |
TLang |
Especifica el idioma en que se mostrarán los mensajes de las excepciones mostradas por la clase/componente. Ver valoresCerrar
TLang = (Espanol, English, French, PortuguesBR, Danish, German, Russian);
|
Métodos
Método |
Descripción |
Add (+) |
Crea una nueva instancia de TInfoWindow y la añade en el array de Items. Más informaciónCerrar
function Add(Lat: Real = 0; Lng: Real = 0; HTMLContent: string = ''): TInfoWindow;
|
Parámetro |
Descripción |
Lat |
Latitud del InfoWindow. |
Lng |
Longitud del InfoWindow. |
HTMLContent |
Contenido del InfoWindow en formato HTML. |
Devuelve |
Nuevo InfoWindow. |
|
ShowElements (+) |
Muestra los objetos en el mapa. Más informaciónCerrar
procedure ShowElements; override;
|
|
Heredados de TGMLinkedComponent |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(AOwner: TComponent); override;
|
Parámetro |
Descripción |
AOwner |
Propietario del componente. |
|
Destroy (+) |
Destructor de la clase. Más informaciónCerrar
destructor Destroy; override;
|
|
Clear (+) |
Borra todos los elementos de la colección. Más informaciónCerrar |
Delete (+) |
Borra un elemento de la colección. Más informaciónCerrar
procedure Delete(Index: Integer);
|
Parámetro |
Descripción |
Index |
Posición a borrar. |
|
Move (+) |
Mueve un item a una nueva posición dentro del array de Items. Más informaciónCerrar
procedure Move(CurIndex, NewIndex: Integer);
|
Parámetro |
Descripción |
CurIndex |
Índice del elemento a mover. |
NewIndex |
Índice destino. |
|
Eventos
Evento |
Tipo |
Descripción |
OnPositionChange (*) |
TLatLngIdxEvent |
Este evento se dispara cuando cambia la posición del InfoWindow. |
Heredados de TGMLinkedComponent |
OnCloseClick (*) |
TLinkedComponentChange |
El evento OnCloseClick se dispara cuando la InfoWindows se cierra manualmente. |
OnCloseOtherBeforeOpenChange (*) |
TLinkedComponentChange |
El evento OnCloseOtherBeforeOpenChange se dispara cuando cambia la propiedad CloseOtherBeforeOpen. |
OnDisableAutoPanChange (*) |
TLinkedComponentChange |
El evento OnDisableAutoPanChange se dispara cuando cambia la propiedad DisableAutoPan. |
OnHTMLContentChange (*) |
TLinkedComponentChange |
El evento OnHTMLContentChange se dispara cuando cambia la propiedad HTMLContent. |
OnMaxWidthChange (*) |
TLinkedComponentChange |
El evento OnMaxWidthChange se dispara cuando cambia la propiedad MaxWidth. |
OnPixelOffsetChange (*) |
TLinkedComponentChange |
El evento OnPixelOffsetChange se dispara cuando cambia la propiedad PixelOffset. |
Clase TInfoWindows
Descripción Clase para la colección de InfoWindow. Herencia TObject -> TPersistent -> TCollection -> TLinkedComponents -> TInfoWindows Propiedades
Propiedad |
Tipo |
Descripción |
Items (+) |
[I: Integer]: TInfoWindow |
Lista de infowindow en la colección. |
Métodos
Método |
Descripción |
Add (+) |
Crea una nueva instancia de TInfoWindow y la añade en el array de Items. Más informaciónCerrar
function Add: TInfoWindow;
|
Devuelve |
Nuevo infowindow. |
|
Insert (+) |
Crea una nueva instancia de TInfoWindow y la añade en el array de Items. Más informaciónCerrar
function Insert(Index: Integer): TInfoWindow;
|
Parámetro |
Descripción |
Index |
Posición en la que insertar. |
Devuelve |
Nuevo infowindow. |
|
Heredados de TLinkedComponents |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(GMLinkedComponent: TGMLinkedComponent; ItemClass: TCollectionItemClass); virtual;
|
Parámetro |
Descripción |
GMLinkedComponent |
Propietario de la colección. |
ItemClass |
Clase de los nuevos elementos. |
|
Clase TInfoWindow
Descripción Clase para la gestión de ventanas de información. Herencia TObject -> TPersistent -> TCollectionItem -> TLinkedComponent -> TInfoWindow Propiedades
Propiedad |
Tipo |
Descripción |
AutoOpen (*) |
Boolean |
Si se establece a true, cuando se cree, se mostrará automáticamente. |
CloseOtherBeforeOpen (*) |
Boolean |
Poner a true para cerrar otras ventanas de información abiertas. |
DisableAutoPan (*) |
Boolean |
Deshabilita el auto-pan en abierto. |
HTMLContent (*) |
string |
Contenido a mostrar en la InfoWindow. Éste puede ser un elemento HTML, texto plano, o una cadena que contenga HTML. El InfoWindow se agrandará acorde al contenido. Para especificar unas determinadas medidas para el contenido, establece el contenido como un elemento HTML con esas medidas. |
MaxWidth (*) |
Integer |
Ancho máximo del InfoWindows, independientemente de la anchura del contenido. A 0 sin máximo. |
PixelOffset (*) |
TGMSize |
Offset, en píxeles, del extremo de la ventana de información desde el punto en las coordenadas geográficas en las que se ancla la ventana de información. |
Position (*) |
TLatLng |
TLatLng donde se mostrará la ventana de información. |
Heredadas de TLinkedComponent |
Tag (*) |
Integer |
La propiedad Tag no tiene un sentido específico. Puede almacenar un valor entero adicional para comodidad del programador. |
Métodos
Método |
Descripción |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(Collection: TCollection); override;
|
Parámetro |
Descripción |
Collection |
Collection identifica la instancia TCollection a la que pertenece el nuevo elemento. |
|
Destroy (+) |
Destructor de la clase. Más informaciónCerrar
destructor Destroy; override;
|
|
OpenClose (+) |
Muestra o oculta la ventana de información. Más informaciónCerrar |
Heredados de TLinkedComponent |
CenterMapTo (+) |
Centra el mapa en la ventana de información. Más informaciónCerrar |
Clase TGMPolyline
Descripción Clase para la gestión de polilíneas. Herencia TObject -> TPersistent -> TComponent -> TGMBase -> TGMObjects -> TGMLinkedComponent -> TGMBasePolyline -> TGMPolyline Propiedades
Propiedad |
Tipo |
Descripción |
Items (+) |
[I: Integer]: TPolyline |
Array con la colección de elementos. |
Heredadas de TGMBasePolyline |
VisualObjects (*) |
[I: Integer]: TPolyline |
Colección de elementos. |
Heredadas de TGMLinkedComponent |
AutoUpdate (*) |
Boolean |
Si Active, modifica los objetos de forma automática, sino, necesita recargar el mapa. |
Count (+) |
Integer |
Obtienen el número de elementos de la colección. |
Heredadas de TGMObjects |
Map (*) |
TCustomGMMap |
Mapa asociado al componente. |
Heredadas de TGMBase |
AboutGMLib (*) |
string |
Muestra un formulario «Acerca de» con información de la GMLib. |
APIUrl (*) |
string |
Muestra una url a la página del API de Google Maps relacionada. |
Language (*) |
TLang |
Especifica el idioma en que se mostrarán los mensajes de las excepciones mostradas por la clase/componente. Ver valoresCerrar
TLang = (Espanol, English, French, PortuguesBR, Danish, German, Russian);
|
Métodos
Método |
Descripción |
Add (+) |
Crea una nueva instancia de TPolyline y la añade en el array de Items. Más informaciónCerrar |
ShowElements (+) |
Muestra los objetos en el mapa. Más informaciónCerrar
procedure ShowElements; override;
|
|
Heredados de TGMBasePolyline |
GetPath (+) |
El método GetPath recupera los cambios realizados por el usuario directamente en la polilinea. Más informaciónCerrar |
SetPath (+) |
El método SetPath establece los nuevos LinePoints a la polilínea. Más informaciónCerrar |
Heredados de TGMLinkedComponent |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(AOwner: TComponent); override;
|
Parámetro |
Descripción |
AOwner |
Propietario del componente. |
|
Destroy (+) |
Destructor de la clase. Más informaciónCerrar
destructor Destroy; override;
|
|
Clear (+) |
Borra todos los elementos de la colección. Más informaciónCerrar |
Delete (+) |
Borra un elemento de la colección. Más informaciónCerrar
procedure Delete(Index: Integer);
|
Parámetro |
Descripción |
Index |
Posición a borrar. |
|
Move (+) |
Mueve un item a una nueva posición dentro del array de Items. Más informaciónCerrar
procedure Move(CurIndex, NewIndex: Integer);
|
Parámetro |
Descripción |
CurIndex |
Índice del elemento a mover. |
NewIndex |
Índice destino. |
|
Eventos
Evento |
Tipo |
Descripción |
OnCurveLineChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad CurveLine de una polilínea. |
OnIconChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Icon de una polilínea. |
Heredados de TGMBasePolyline |
OnClick (*) |
TLatLngIdxEvent |
Este evento ocurre cuando el usuario pulsa una polilínea. |
OnClickableChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Clickable de una polilínea. |
OnDblClick (*) |
TLatLngIdxEvent |
Este evento ocurre cuando el usuario hace doble click una polilínea. |
OnEditableChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Editable de una polilínea. |
OnGeodesicChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Geodesic de una polilínea. |
OnMouseDown (*) |
TLatLngIdxEvent |
Este evento se dispara al pulsar en el polilínea. |
OnMouseMove (*) |
TLatLngIdxEvent |
Este evento se dispara cuando el ratón se mueve por encima del polilínea. |
OnMouseOut (*) |
TLatLngIdxEvent |
Este evento se dispara cuando el ratón sale del polilínea. |
OnMouseOver (*) |
TLatLngIdxEvent |
Este evento se dispara cuando el ratón entra en el área del polilínea. |
OnMouseUp (*) |
TLatLngIdxEvent |
Este evento se dispara al soltar el polilínea. |
OnPathChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Path de una polilínea. |
OnRightClick (*) |
TLatLngIdxEvent |
Este evento ocurre cuando en una polilínea se pulsa el botón derecho del ratón. |
OnStrokeColorChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad StrokeColor de una polilínea. |
OnStrokeOpacityChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad StrokeOpacity de una polilínea. |
OnStrokeWeightChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad StrokeWeight de una polilínea. |
OnVisibleChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Visible de una polilínea. |
Heredados de TGMLinkedComponent |
OnCloseClick (*) |
TLinkedComponentChange |
El evento OnCloseClick se dispara cuando la InfoWindows se cierra manualmente. |
OnCloseOtherBeforeOpenChange (*) |
TLinkedComponentChange |
El evento OnCloseOtherBeforeOpenChange se dispara cuando cambia la propiedad CloseOtherBeforeOpen. |
OnDisableAutoPanChange (*) |
TLinkedComponentChange |
El evento OnDisableAutoPanChange se dispara cuando cambia la propiedad DisableAutoPan. |
OnHTMLContentChange (*) |
TLinkedComponentChange |
El evento OnHTMLContentChange se dispara cuando cambia la propiedad HTMLContent. |
OnMaxWidthChange (*) |
TLinkedComponentChange |
El evento OnMaxWidthChange se dispara cuando cambia la propiedad MaxWidth. |
OnPixelOffsetChange (*) |
TLinkedComponentChange |
El evento OnPixelOffsetChange se dispara cuando cambia la propiedad PixelOffset. |
Clase TPolylines
Descripción Clase para la colección de polilíneas. Herencia TObject -> TPersistent -> TCollection -> TLinkedComponents -> TBasePolylines -> TPolylines Propiedades
Propiedad |
Tipo |
Descripción |
Items (+) |
[I: Integer]: TPolyline |
Lista de polilíneas en la colección. |
Métodos
Método |
Descripción |
Add (+) |
Crea una nueva instancia de TPolyline y la añade en el array de Items. Más informaciónCerrar
function Add: TPolyline;
|
Devuelve |
Nueva polilínea. |
|
Insert (+) |
Crea una nueva instancia de TPolyline y la añade en el array de Items. Más informaciónCerrar
function Insert(Index: Integer): TPolyline;
|
Parámetro |
Descripción |
Index |
Posición en la que insertar. |
Devuelve |
Nueva polilínea. |
|
Heredados de TLinkedComponents |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(GMLinkedComponent: TGMLinkedComponent; ItemClass: TCollectionItemClass); virtual;
|
Parámetro |
Descripción |
GMLinkedComponent |
Propietario de la colección. |
ItemClass |
Clase de los nuevos elementos. |
|
Clase TPolyline
Descripción Clase para las polilíneas. Más información en Polyline class. Herencia TObject -> TPersistent -> TCollectionItem -> TLinkedComponent / ILinePoint -> TBasePolyline -> TBasePolylineVCL -> TPolyline Propiedades
Propiedad |
Tipo |
Descripción |
CurveLine (*) |
TCurveLine |
Propiedades para una polilínea con linea curva. |
Icon (*) |
TIconSequence |
Características para el icono y la repetición. |
Heredadas de TBasePolylineVCL |
StrokeColor (*) |
TColor |
Color del trazo. |
Heredadas de TBasePolyline |
AutoUpdatePath (*) |
Boolean |
Si se establece a true, cada vez que se modifique el recorrido en el mapa, se actualizará el array de LinePoints. |
Clickable (*) |
Boolean |
Indica si la polilínea recibe eventos del ratón. |
CountLinePoints (+) |
Integer |
Devuelve la cantidad de LinePoints. |
Editable (*) |
Boolean |
Si se establece a true, el usuario puede editar la figura arrastrando los puntos de control mostrados en los vertices y en cada segmento. |
Geodesic (*) |
Boolean |
Si se establece a true, muestra cada arista como una geodésica (un segmento de un «gran círculo»). Una geodésica es el camino más corto entre dos puntos de la superfície terrestre. Si es false, muestra cada arista como una línea recta en pantalla. |
InfoWindow (*) |
TBaseInfoWindow |
InfoWindows asociado al objeto. |
Items (+) |
[I: Integer]: TLinePoint |
Array con la colección de elementos. |
LinePoints (*) |
TLinePoints |
Secuencia ordenada de coordenadas de la polilínea. |
StrokeOpacity (*) |
Real |
Opacidad del trazo entre 0.0 y 1.0. |
StrokeWeight (*) |
Integer |
Anchura del trazo en píxeles. |
Text (*) |
string |
Esta propiedad se usa, si procede, para establecer el nombre que aparece en el editor de la colección. |
Visible (*) |
Boolean |
Si la polilínea es visible en el mapa. |
Heredadas de TLinkedComponent |
Tag (*) |
Integer |
La propiedad Tag no tiene un sentido específico. Puede almacenar un valor entero adicional para comodidad del programador. |
Métodos
Método |
Descripción |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(Collection: TCollection); override;
|
Parámetro |
Descripción |
Collection |
Collection identifica la instancia TCollection a la que pertenece el nuevo elemento. |
|
Destroy (+) |
Destructor de la clase. Más informaciónCerrar
destructor Destroy; override;
|
|
Heredados de TBasePolyline |
AddLinePoint (+) |
Crea un nuevo punto en la polilinea. Más informaciónCerrar
function AddLinePoint(Lat, Lng: string): TLinePoint; overload;
function AddLinePoint(Lat: Real = 0; Lng: Real = 0): TLinePoint; overload;
|
Parámetro |
Descripción |
Lat |
Latitud del punto. |
Lng |
Longitud del punto. |
Devuelve |
Nuevo TLinePoint. |
|
AfterConstruction (+) |
Respuesta después de la ejecución del último constructor. Más informaciónCerrar
procedure AfterConstruction; override;
|
|
ClearLinePoints (+) |
Borra todos los puntos. Más informaciónCerrar
procedure ClearLinePoints;
|
|
ComputeArea (+) |
Devuelve el area de una ruta cerrada. El area calculada usa las mismas unidades que Radius. El radio por defecto es el radio de la Tierra en metros, en cuyo caso el área es en metros cuadrados. Más informaciónCerrar
function ComputeArea(Radius: Real = -1): Real;
|
Parámetro |
Descripción |
Radius |
Radio a usar. |
Devuelve |
Area. |
|
DecodePath (+) |
Decodifica un string codificado en una secuencia de LatLng. Más informaciónCerrar
procedure DecodePath(EncodedPath: string; Add: Boolean = False);
|
Parámetro |
Descripción |
EncodedPath |
Path a decodificar. |
Add |
Si es true, se añaden los puntos resultantes de la decodificación a los actuales. Si es false (por defecto), antes de cargar los nuevos puntos resultantes de la decodificación, se borrarán los puntos actuales. |
|
DeleteLinePoint (+) |
Borra un punto. Más informaciónCerrar
procedure DeleteLinePoint(Index: Integer);
|
Parámetro |
Descripción |
Index |
Posición a borrar. |
|
EncodePath (+) |
Codifica una secuencia de TLatLng en un string codificado. Más informaciónCerrar
function EncodePath: string;
|
Devuelve |
String codificado. |
|
GetCenter (+) |
Devuelve el centro de la polilinea. Más informaciónCerrar
procedure GetCenter(LL: TLatLng);
|
Parámetro |
Descripción |
LL |
TLatLng con el centro. |
|
GetPath (+) |
El método GetPath recupera los cambios realizados por el usuario directamente en la polilinea. Más informaciónCerrar |
InsertLinePoint (+) |
Inserta un nuevo punto en la polilinea en el índice especificado. Más informaciónCerrar
function InsertLinePoint(Index: Integer; Lat, Lng: Real): TLinePoint;
|
Parámetro |
Descripción |
Index |
Posición en la que insertar. |
Lat |
Latitud del punto. |
Lng |
Longitud del punto. |
Devuelve |
TLinePoint. |
|
IsLocationOnEdge (+) |
Calcula si el punto dado se encuentra en o cerca de una polilínea, o el borde de un polígono, dentro de una tolerancia especificada. Más informaciónCerrar
function IsLocationOnEdge(LatLng: TLatLng; Tolerance: Integer = -1): Boolean; overload;
|
Parámetro |
Descripción |
LatLng |
Punto a calcular. |
Tolerance |
Tolerancia. -1 sin tolerancia. |
Devuelve |
True si el punto se encuentra en o cerca de una polilínea, o el borde de un polígono. |
|
IsLocationOnEdge (+) |
Calcula si el punto dado se encuentra en o cerca de una polilínea, o el borde de un polígono, dentro de una tolerancia especificada. Más informaciónCerrar
function IsLocationOnEdge(Lat, Lng: Real; Tolerance: Integer = -1): Boolean; overload;
|
Parámetro |
Descripción |
Lat |
Latitud a calcular. |
Lng |
Longitud a calcular. |
Tolerance |
Tolerancia. -1 sin tolerancia. |
Devuelve |
True si el punto se encuentra en o cerca de una polilínea, o el borde de un polígono. |
|
MoveLinePoint (+) |
Mueve un punto a una nueva posición dentro del array de LinePoints. Más informaciónCerrar
procedure MoveLinePoint(CurIndex, NewIndex: Integer);
|
Parámetro |
Descripción |
CurIndex |
Índice del elemento a mover. |
NewIndex |
Índice destino. |
|
PolylineToStr (+) |
Convierte en una cadena el conjunto de LinePoints. Los elementos están separados por punto y coma (;) y las coordenadas (lat/lng) separados por una barra vertical (|). Más informaciónCerrar
function PolylineToStr: string;
|
Devuelve |
Cadena con la conversión. |
|
SetPath (+) |
Establece el nuevo recorrido. Más informaciónCerrar |
ZoomToPoints (+) |
Establece el zoom óptimo para visualizar la polilínea. Más informaciónCerrar |
Heredados de TLinkedComponent |
CenterMapTo (+) |
Centra el mapa en el primer punto de la polilinea. Más informaciónCerrar |
OpenCloseInfoWin (+) |
Muestra o oculta la ventana de información. Más informaciónCerrar
procedure OpenCloseInfoWin; virtual;
|
|
Clase TIconSequence
Descripción Clase para determinar el icono y la repetición a mostrar en la polilínea. Herencia TObject -> TPersistent -> TCustomIconSequence -> TIconSequence Propiedades
Propiedad |
Tipo |
Descripción |
Icon (*) |
TSymbol |
Propiedades del icono. |
Heredadas de TCustomIconSequence |
DistRepeat (*) |
TValue |
Propiedades de repetición. |
OffSet (*) |
TValue |
Propiedades del OffSet. |
Clase TValue
Descripción Clase para determinar la repetición del icono mostrado. Herencia TObject -> TPersistent -> TValue Propiedades
Propiedad |
Tipo |
Descripción |
Measure (*) |
TMeasure |
Valor de la medida (píxeles o porcentaje). Ver valoresCerrar
TMeasure = (mPixels, mPercentage);
|
Value (*) |
Integer |
Valor de la medida. |
Clase TSymbol
Descripción Clase para determinar la repetición del icono mostrado. Herencia TObject -> TPersistent -> TCustomSymbol -> TSymbol Propiedades
Propiedad |
Tipo |
Descripción |
FillColor (*) |
TColor |
Color de relleno. |
StrokeColor (*) |
TColor |
Color del trazo. |
Heredadas de TCustomSymbol |
FillOpacity (*) |
Real |
Opacidad del relleno entre 0.0 y 1.0. |
Path (*) |
TSymbolPath |
Símbolo a mostrar. Ver valoresCerrar
TSymbolPath = (spNONE, spBACKWARD_CLOSED_ARROW, spBACKWARD_OPEN_ARROW, spCIRCLE,
spFORWARD_CLOSED_ARROW, spFORWARD_OPEN_ARROW, spDASHEDLINE);
|
StrokeOpacity (*) |
Real |
Opacidad del trazo entre 0.0 y 1.0. |
StrokeWeight (*) |
Integer |
Anchura del trazo en píxeles. |
Clase TColoredMarker
Descripción Características para un marcador de tipo ColoredMarker. Lo siento, he perdido la referencia para más información. Herencia TObject -> TPersistent -> TCustomColoredMarker -> TColoredMarker Propiedades
Propiedad |
Tipo |
Descripción |
CornerColor (*) |
TColor |
Color de la esquina. |
PrimaryColor (*) |
TColor |
Color de relleno. |
StrokeColor (*) |
TColor |
Color del trazo. |
Heredadas de TCustomColoredMarker |
Height (*) |
Integer |
Altura del marcador. |
Width (*) |
Integer |
Ancho del marcador. |
Clase TLinePoint
Descripción Clase interna para la gestión de puntos de un TPolyline o TPolygon. Herencia TObject -> TPersistent -> TCollectionItem -> TLinePoint Propiedades
Propiedad |
Tipo |
Descripción |
Lat (*) |
Real |
Latitud del punto. |
Lng (*) |
Real |
Longitud del punto. |
Métodos
Método |
Descripción |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(Collection: TCollection); override;
|
Parámetro |
Descripción |
Collection |
Collection identifica la instancia TCollection a la que pertenece el nuevo elemento. |
|
Destroy (+) |
Destructor de la clase. Más informaciónCerrar
destructor Destroy; override;
|
|
GetLatLng (+) |
Devuelve la posición del punto. Más informaciónCerrar
function GetLatLng: TLatLng;
|
Devuelve |
TLatLng con la posición del punto. |
|
LatToStr (+) |
Combierte el valor de Lat en una cadena. Más informaciónCerrar
function LatToStr(Precision: Integer = 6): string;
|
Parámetro |
Descripción |
Precision |
Precisión del valor. Por defecto 6. |
Devuelve |
Cadena con la latitud. |
|
LngToStr (+) |
Combierte el valor de Lng en una cadena. Más informaciónCerrar
function LngToStr(Precision: Integer = 6): string;
|
Parámetro |
Descripción |
Precision |
Precisión del valor. Por defecto 6. |
Devuelve |
Cadena con la longitud. |
|
SetLatLng (+) |
Establece la posición del punto. Más informaciónCerrar
procedure SetLatLng(LatLng: TLatLng);
|
Parámetro |
Descripción |
LatLng |
Nueva posición. |
|
StringToReal (+) |
Dada una cadena, la convierte en un valor real teniendo en cuenta la configuración regional. Más informaciónCerrar
function StringToReal(Value: string): Real;
|
Parámetro |
Descripción |
Value |
Cadena a convertir a real. |
Devuelve |
Real con la conversión. |
|
ToStr (+) |
Combierte la TLatLng en una cadena. Más informaciónCerrar
function ToStr(Precision: Integer = 6): string;
|
Parámetro |
Descripción |
Precision |
Precisión de los valores. Por defecto 6. |
Devuelve |
Cadena con la TLatLng. |
|
Clase TLinePoints
Descripción Clase interna para la gestión de puntos de un Polyline o Polygon. Herencia TObject -> TPersistent -> TCollection -> TLinePoints Métodos
Método |
Descripción |
Add (+) |
Crea una nueva instancia de TLinePoint y la añade en el array de Items. Más informaciónCerrar
function Add: TLinePoint;
|
Devuelve |
Nuevo elemento. |
|
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Clear (+) |
Borra todos los elementos de la colección. Más informaciónCerrar |
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(Owner: TObject; ItemClass: TCollectionItemClass);
|
Parámetro |
Descripción |
Owner |
Propietario de la colección. |
ItemClass |
Clase de los nuevos elementos. |
|
Delete (+) |
Borra un elemento de la colección. Más informaciónCerrar
procedure Delete(Index: Integer);
|
Parámetro |
Descripción |
Index |
Posición a borrar. |
|
Insert (+) |
Crea una nueva instancia de TLinePoint y la añade en el array de Items. Más informaciónCerrar
function Insert(Index: Integer): TLinePoint;
|
Parámetro |
Descripción |
Index |
Posición en la que insertar. |
Devuelve |
Nuevo elemento. |
|
Move (+) |
Mueve un item a una nueva posición dentro del array de Items. Más informaciónCerrar
procedure Move(CurIndex, NewIndex: Integer);
|
Parámetro |
Descripción |
CurIndex |
Índice del elemento a mover. |
NewIndex |
Índice destino. |
|
PointsToStr (+) |
Convierte en una cadena el conjunto de elementos de la colección. Los elementos están separados por punto y coma (;) y las coordenadas (lat/lng) separados por una barra vertical (|). Esta función está obsoleta. En su lugar usar el método de clase PointsToStr de la clase TGMGenFunc de la unidad GMFunctions. Más informaciónCerrar
function PointsToStr(Precision: Integer = 6): string;
|
Parámetro |
Descripción |
Precision |
Precisión de los valores. Por defecto 6. |
Devuelve |
Cadena con la conversión. |
|
Clase TGMPolygon
Descripción Clase para la gestión de polígonos. Herencia TObject -> TPersistent -> TComponent -> TGMBase -> TGMObjects -> TGMLinkedComponent -> TGMBasePolyline -> TGMPolygon Propiedades
Propiedad |
Tipo |
Descripción |
Items (+) |
[I: Integer]: TPolygon |
Array con la colección de elementos. |
Heredadas de TGMBasePolyline |
VisualObjects (*) |
[I: Integer]: TPolygon |
Colección de elementos. |
Heredadas de TGMLinkedComponent |
AutoUpdate (*) |
Boolean |
Si Active, modifica los objetos de forma automática, sino, necesita recargar el mapa. |
Count (+) |
Integer |
Obtienen el número de elementos de la colección. |
Heredadas de TGMObjects |
Map (*) |
TCustomGMMap |
Mapa asociado al componente. |
Heredadas de TGMBase |
AboutGMLib (*) |
string |
Muestra un formulario «Acerca de» con información de la GMLib. |
APIUrl (*) |
string |
Muestra una url a la página del API de Google Maps relacionada. |
Language (*) |
TLang |
Especifica el idioma en que se mostrarán los mensajes de las excepciones mostradas por la clase/componente. Ver valoresCerrar
TLang = (Espanol, English, French, PortuguesBR, Danish, German, Russian);
|
Métodos
Método |
Descripción |
Add (+) |
Crea una nueva instancia de TPolygon y la añade en el array de Items. Más informaciónCerrar |
ShowElements (+) |
Muestra los objetos en el mapa. Más informaciónCerrar
procedure ShowElements; override;
|
|
Heredados de TGMBasePolyline |
GetPath (+) |
El método GetPath recupera los cambios realizados por el usuario directamente en la polilinea. Más informaciónCerrar |
SetPath (+) |
El método SetPath establece los nuevos LinePoints a la polilínea. Más informaciónCerrar |
Heredados de TGMLinkedComponent |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(AOwner: TComponent); override;
|
Parámetro |
Descripción |
AOwner |
Propietario del componente. |
|
Destroy (+) |
Destructor de la clase. Más informaciónCerrar
destructor Destroy; override;
|
|
Clear (+) |
Borra todos los elementos de la colección. Más informaciónCerrar |
Delete (+) |
Borra un elemento de la colección. Más informaciónCerrar
procedure Delete(Index: Integer);
|
Parámetro |
Descripción |
Index |
Posición a borrar. |
|
Move (+) |
Mueve un item a una nueva posición dentro del array de Items. Más informaciónCerrar
procedure Move(CurIndex, NewIndex: Integer);
|
Parámetro |
Descripción |
CurIndex |
Índice del elemento a mover. |
NewIndex |
Índice destino. |
|
Eventos
Evento |
Tipo |
Descripción |
OnFillColorChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad FillColor de un polígono. |
OnFillOpacityChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad FillOpacity de un polígono. |
Heredados de TGMBasePolyline |
OnClick (*) |
TLatLngIdxEvent |
Este evento ocurre cuando el usuario pulsa una polilínea. |
OnClickableChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Clickable de una polilínea. |
OnDblClick (*) |
TLatLngIdxEvent |
Este evento ocurre cuando el usuario hace doble click una polilínea. |
OnEditableChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Editable de una polilínea. |
OnGeodesicChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Geodesic de una polilínea. |
OnMouseDown (*) |
TLatLngIdxEvent |
Este evento se dispara al pulsar en el polilínea. |
OnMouseMove (*) |
TLatLngIdxEvent |
Este evento se dispara cuando el ratón se mueve por encima del polilínea. |
OnMouseOut (*) |
TLatLngIdxEvent |
Este evento se dispara cuando el ratón sale del polilínea. |
OnMouseOver (*) |
TLatLngIdxEvent |
Este evento se dispara cuando el ratón entra en el área del polilínea. |
OnMouseUp (*) |
TLatLngIdxEvent |
Este evento se dispara al soltar el polilínea. |
OnPathChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Path de una polilínea. |
OnRightClick (*) |
TLatLngIdxEvent |
Este evento ocurre cuando en una polilínea se pulsa el botón derecho del ratón. |
OnStrokeColorChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad StrokeColor de una polilínea. |
OnStrokeOpacityChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad StrokeOpacity de una polilínea. |
OnStrokeWeightChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad StrokeWeight de una polilínea. |
OnVisibleChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Visible de una polilínea. |
Heredados de TGMLinkedComponent |
OnCloseClick (*) |
TLinkedComponentChange |
El evento OnCloseClick se dispara cuando la InfoWindows se cierra manualmente. |
OnCloseOtherBeforeOpenChange (*) |
TLinkedComponentChange |
El evento OnCloseOtherBeforeOpenChange se dispara cuando cambia la propiedad CloseOtherBeforeOpen. |
OnDisableAutoPanChange (*) |
TLinkedComponentChange |
El evento OnDisableAutoPanChange se dispara cuando cambia la propiedad DisableAutoPan. |
OnHTMLContentChange (*) |
TLinkedComponentChange |
El evento OnHTMLContentChange se dispara cuando cambia la propiedad HTMLContent. |
OnMaxWidthChange (*) |
TLinkedComponentChange |
El evento OnMaxWidthChange se dispara cuando cambia la propiedad MaxWidth. |
OnPixelOffsetChange (*) |
TLinkedComponentChange |
El evento OnPixelOffsetChange se dispara cuando cambia la propiedad PixelOffset. |
Clase TPolygons
Descripción Clase para la colección de polígonos. Herencia TObject -> TPersistent -> TCollection -> TLinkedComponents -> TBasePolylines -> TPolygons Propiedades
Propiedad |
Tipo |
Descripción |
Items (+) |
[I: Integer]: TPolygon |
Lista de polígonos en la colección. |
Métodos
Método |
Descripción |
Add (+) |
Crea una nueva instancia de TPolygon y la añade en el array de Items. Más informaciónCerrar
function Add: TPolygon;
|
Devuelve |
Nuevo polígono. |
|
Insert (+) |
Crea una nueva instancia de TPolygon y la añade en el array de Items. Más informaciónCerrar
function Insert(Index: Integer): TPolygon;
|
Parámetro |
Descripción |
Index |
Posición en la que insertar. |
Devuelve |
Nuevo poligono. |
|
Heredados de TLinkedComponents |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(GMLinkedComponent: TGMLinkedComponent; ItemClass: TCollectionItemClass); virtual;
|
Parámetro |
Descripción |
GMLinkedComponent |
Propietario de la colección. |
ItemClass |
Clase de los nuevos elementos. |
|
Clase TPolygon
Descripción Clase para los polígonos. Más información en TPolygon class. Herencia TObject -> TPersistent -> TCollectionItem -> TLinkedComponent / ILinePoint -> TBasePolyline -> TBasePolylineVCL -> TPolygon Propiedades
Propiedad |
Tipo |
Descripción |
FillColor (*) |
TColor |
Color de relleno. |
FillOpacity (*) |
Real |
Opacidad del relleno entre 0.0 y 1.0. |
Heredadas de TBasePolylineVCL |
StrokeColor (*) |
TColor |
Color del trazo. |
Heredadas de TBasePolyline |
AutoUpdatePath (*) |
Boolean |
Si se establece a true, cada vez que se modifique el recorrido en el mapa, se actualizará el array de LinePoints. |
Clickable (*) |
Boolean |
Indica si la polilínea recibe eventos del ratón. |
CountLinePoints (+) |
Integer |
Devuelve la cantidad de LinePoints. |
Editable (*) |
Boolean |
Si se establece a true, el usuario puede editar la figura arrastrando los puntos de control mostrados en los vertices y en cada segmento. |
Geodesic (*) |
Boolean |
Si se establece a true, muestra cada arista como una geodésica (un segmento de un «gran círculo»). Una geodésica es el camino más corto entre dos puntos de la superfície terrestre. Si es false, muestra cada arista como una línea recta en pantalla. |
InfoWindow (*) |
TBaseInfoWindow |
InfoWindows asociado al objeto. |
Items (+) |
[I: Integer]: TLinePoint |
Array con la colección de elementos. |
LinePoints (*) |
TLinePoints |
Secuencia ordenada de coordenadas de la polilínea. |
StrokeOpacity (*) |
Real |
Opacidad del trazo entre 0.0 y 1.0. |
StrokeWeight (*) |
Integer |
Anchura del trazo en píxeles. |
Text (*) |
string |
Esta propiedad se usa, si procede, para establecer el nombre que aparece en el editor de la colección. |
Visible (*) |
Boolean |
Si la polilínea es visible en el mapa. |
Heredadas de TLinkedComponent |
Tag (*) |
Integer |
La propiedad Tag no tiene un sentido específico. Puede almacenar un valor entero adicional para comodidad del programador. |
Métodos
Método |
Descripción |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
ContainsLocation (+) |
Calcula si el punto dado se encuentra dentro del polígono. Más informaciónCerrar
function ContainsLocation(Lat, Lng: Real): Boolean; overload;
|
Parámetro |
Descripción |
Lat |
Latitud a calcular. |
Lng |
Longitud a calcular. |
Devuelve |
True si el punto esta dentro del polígono. |
|
ContainsLocation (+) |
Calcula si el punto dado se encuentra dentro del polígono. Más informaciónCerrar
function ContainsLocation(LatLng: TLatLng): Boolean; overload;
|
Parámetro |
Descripción |
LatLng |
Punto a calcular. |
Devuelve |
True si el punto esta dentro del polígono. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(Collection: TCollection); override;
|
Parámetro |
Descripción |
Collection |
Collection identifica la instancia TCollection a la que pertenece el nuevo elemento. |
|
Heredados de TBasePolyline |
AddLinePoint (+) |
Crea un nuevo punto en la polilinea. Más informaciónCerrar
function AddLinePoint(Lat, Lng: string): TLinePoint; overload;
function AddLinePoint(Lat: Real = 0; Lng: Real = 0): TLinePoint; overload;
|
Parámetro |
Descripción |
Lat |
Latitud del punto. |
Lng |
Longitud del punto. |
Devuelve |
Nuevo TLinePoint. |
|
AfterConstruction (+) |
Respuesta después de la ejecución del último constructor. Más informaciónCerrar
procedure AfterConstruction; override;
|
|
ClearLinePoints (+) |
Borra todos los puntos. Más informaciónCerrar
procedure ClearLinePoints;
|
|
ComputeArea (+) |
Devuelve el area de una ruta cerrada. El area calculada usa las mismas unidades que Radius. El radio por defecto es el radio de la Tierra en metros, en cuyo caso el área es en metros cuadrados. Más informaciónCerrar
function ComputeArea(Radius: Real = -1): Real;
|
Parámetro |
Descripción |
Radius |
Radio a usar. |
Devuelve |
Area. |
|
DecodePath (+) |
Decodifica un string codificado en una secuencia de LatLng. Más informaciónCerrar
procedure DecodePath(EncodedPath: string; Add: Boolean = False);
|
Parámetro |
Descripción |
EncodedPath |
Path a decodificar. |
Add |
Si es true, se añaden los puntos resultantes de la decodificación a los actuales. Si es false (por defecto), antes de cargar los nuevos puntos resultantes de la decodificación, se borrarán los puntos actuales. |
|
DecodePath (+) |
Decodifica un string codificado en una secuencia de LatLng. Más informaciónCerrar
procedure DecodePath(EncodedPath: string; Add: Boolean = False);
|
Parámetro |
Descripción |
EncodedPath |
Path a decodificar. |
Add |
Si es true, se añaden los puntos resultantes de la decodificación a los actuales. Si es false (por defecto), antes de cargar los nuevos puntos resultantes de la decodificación, se borrarán los puntos actuales. |
|
DeleteLinePoint (+) |
Borra un punto. Más informaciónCerrar
procedure DeleteLinePoint(Index: Integer);
|
Parámetro |
Descripción |
Index |
Posición a borrar. |
|
EncodePath (+) |
Codifica una secuencia de TLatLng en un string codificado. Más informaciónCerrar
function EncodePath: string;
|
Devuelve |
String codificado. |
|
GetCenter (+) |
Devuelve el centro de la polilinea. Más informaciónCerrar
procedure GetCenter(LL: TLatLng);
|
Parámetro |
Descripción |
LL |
TLatLng con el centro. |
|
GetPath (+) |
El método GetPath recupera los cambios realizados por el usuario directamente en la polilinea. Más informaciónCerrar |
InsertLinePoint (+) |
Inserta un nuevo punto en la polilinea en el índice especificado. Más informaciónCerrar
function InsertLinePoint(Index: Integer; Lat, Lng: Real): TLinePoint;
|
Parámetro |
Descripción |
Index |
Posición en la que insertar. |
Lat |
Latitud del punto. |
Lng |
Longitud del punto. |
Devuelve |
TLinePoint. |
|
IsLocationOnEdge (+) |
Calcula si el punto dado se encuentra en o cerca de una polilínea, o el borde de un polígono, dentro de una tolerancia especificada. Más informaciónCerrar
function IsLocationOnEdge(LatLng: TLatLng; Tolerance: Integer = -1): Boolean; overload;
|
Parámetro |
Descripción |
LatLng |
Punto a calcular. |
Tolerance |
Tolerancia. -1 sin tolerancia. |
Devuelve |
True si el punto se encuentra en o cerca de una polilínea, o el borde de un polígono. |
|
IsLocationOnEdge (+) |
Calcula si el punto dado se encuentra en o cerca de una polilínea, o el borde de un polígono, dentro de una tolerancia especificada. Más informaciónCerrar
function IsLocationOnEdge(Lat, Lng: Real; Tolerance: Integer = -1): Boolean; overload;
|
Parámetro |
Descripción |
Lat |
Latitud a calcular. |
Lng |
Longitud a calcular. |
Tolerance |
Tolerancia. -1 sin tolerancia. |
Devuelve |
True si el punto se encuentra en o cerca de una polilínea, o el borde de un polígono. |
|
MoveLinePoint (+) |
Mueve un punto a una nueva posición dentro del array de LinePoints. Más informaciónCerrar
procedure MoveLinePoint(CurIndex, NewIndex: Integer);
|
Parámetro |
Descripción |
CurIndex |
Índice del elemento a mover. |
NewIndex |
Índice destino. |
|
PolylineToStr (+) |
Convierte en una cadena el conjunto de LinePoints. Los elementos están separados por punto y coma (;) y las coordenadas (lat/lng) separados por una barra vertical (|). Más informaciónCerrar
function PolylineToStr: string;
|
Devuelve |
Cadena con la conversión. |
|
SetPath (+) |
Establece el nuevo recorrido. Más informaciónCerrar |
ZoomToPoints (+) |
Establece el zoom óptimo para visualizar el polígono. Más informaciónCerrar |
Heredados de TLinkedComponent |
CenterMapTo (+) |
Centra el mapa en el primer punto de la polilinea. Más informaciónCerrar |
Destroy (+) |
Destructor de la clase. Más informaciónCerrar
destructor Destroy; override;
|
|
OpenCloseInfoWin (+) |
Muestra o oculta la ventana de información. Más informaciónCerrar
procedure OpenCloseInfoWin; virtual;
|
|
Clase TGMRectangle
Descripción Clase para la gestión de rectángulos. Herencia TObject -> TPersistent -> TComponent -> TGMBase -> TGMObjects -> TGMLinkedComponent -> TCustomGMRectangle -> TGMRectangle Propiedades
Propiedad |
Tipo |
Descripción |
Items (+) |
[I: Integer]: TRectangle |
Array con la colección de elementos. |
Heredadas de TCustomGMRectangle |
VisualObjects (*) |
[I: Integer]: TRectangle |
Colección de elementos. |
Heredadas de TGMLinkedComponent |
AutoUpdate (*) |
Boolean |
Si Active, modifica los objetos de forma automática, sino, necesita recargar el mapa. |
Count (+) |
Integer |
Obtienen el número de elementos de la colección. |
Heredadas de TGMObjects |
Map (*) |
TCustomGMMap |
Mapa asociado al componente. |
Heredadas de TGMBase |
AboutGMLib (*) |
string |
Muestra un formulario «Acerca de» con información de la GMLib. |
APIUrl (*) |
string |
Muestra una url a la página del API de Google Maps relacionada. |
Language (*) |
TLang |
Especifica el idioma en que se mostrarán los mensajes de las excepciones mostradas por la clase/componente. Ver valoresCerrar
TLang = (Espanol, English, French, PortuguesBR, Danish, German, Russian);
|
Métodos
Método |
Descripción |
Add (+) |
Crea una nueva instancia de TRectangle y la añade en el array de Items. Más informaciónCerrar
function Add(SWLat: Real = 0; SWLng: Real = 0; NELat: Real = 0; NELng: Real = 0): TRectangle;
|
Parámetro |
Descripción |
SWLat |
Latitud suroeste del rectángulo. |
SWLng |
Longitud suroeste del rectángulo. |
NELat |
Latitud noreste del rectángulo. |
NELng |
Longitud noreste del rectángulo. |
Devuelve |
Una nueva instancia de TRectangle. |
|
Heredados de TGMLinkedComponent |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(AOwner: TComponent); override;
|
Parámetro |
Descripción |
AOwner |
Propietario del componente. |
|
Destroy (+) |
Destructor de la clase. Más informaciónCerrar
destructor Destroy; override;
|
|
Clear (+) |
Borra todos los elementos de la colección. Más informaciónCerrar |
Delete (+) |
Borra un elemento de la colección. Más informaciónCerrar
procedure Delete(Index: Integer);
|
Parámetro |
Descripción |
Index |
Posición a borrar. |
|
Move (+) |
Mueve un item a una nueva posición dentro del array de Items. Más informaciónCerrar
procedure Move(CurIndex, NewIndex: Integer);
|
Parámetro |
Descripción |
CurIndex |
Índice del elemento a mover. |
NewIndex |
Índice destino. |
|
ShowElements (+) |
Muestra los objetos en el mapa. Más informaciónCerrar
procedure ShowElements; override;
|
|
Eventos
Evento |
Tipo |
Descripción |
Heredados de TCustomGMRectangle |
OnBoundsChanged (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambian los límites de un rectángulo. |
OnClick (*) |
TLatLngIdxEvent |
Este evento ocurre cuando el usuario pulsa un rectángulo. |
OnClickableChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Clickable de un rectángulo. |
OnDblClick (*) |
TLatLngIdxEvent |
Este evento ocurre cuando el usuario hace double-clic en un rectángulo. |
OnEditableChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Editable de un rectángulo. |
OnFillColorChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad FillColor de un rectángulo. |
OnFillOpacityChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad FillOpacity de un rectángulo. |
OnMouseDown (*) |
TLatLngIdxEvent |
Este evento se dispara al pulsar en el rentángulo. |
OnMouseMove (*) |
TLatLngIdxEvent |
Este evento se dispara cuando el ratón se mueve por encima del rectángulo. |
OnMouseOut (*) |
TLatLngIdxEvent |
Este evento se dispara cuando el ratón sale del rectángulo. |
OnMouseOver (*) |
TLatLngIdxEvent |
Este evento se dispara cuando el ratón entra en el área del rectángulo. |
OnMouseUp (*) |
TLatLngIdxEvent |
Este evento se dispara al soltar el rectángulo. |
OnRightClick (*) |
TLatLngIdxEvent |
Este evento ocurre cuando en un rectángulo se pulsa el botón derecho del ratón. |
OnStrokeColorChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad StrokeColor de un rectángulo. |
OnStrokeOpacityChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad StrokeOpacity de un rectángulo. |
OnStrokeWeightChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad StrokeWeight de un rectángulo. |
OnVisibleChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Visible de un rectángulo. |
Heredados de TGMLinkedComponent |
OnCloseClick (*) |
TLinkedComponentChange |
El evento OnCloseClick se dispara cuando la InfoWindows se cierra manualmente. |
OnCloseOtherBeforeOpenChange (*) |
TLinkedComponentChange |
El evento OnCloseOtherBeforeOpenChange se dispara cuando cambia la propiedad CloseOtherBeforeOpen. |
OnDisableAutoPanChange (*) |
TLinkedComponentChange |
El evento OnDisableAutoPanChange se dispara cuando cambia la propiedad DisableAutoPan. |
OnHTMLContentChange (*) |
TLinkedComponentChange |
El evento OnHTMLContentChange se dispara cuando cambia la propiedad HTMLContent. |
OnMaxWidthChange (*) |
TLinkedComponentChange |
El evento OnMaxWidthChange se dispara cuando cambia la propiedad MaxWidth. |
OnPixelOffsetChange (*) |
TLinkedComponentChange |
El evento OnPixelOffsetChange se dispara cuando cambia la propiedad PixelOffset. |
Clase TRectangles
Descripción Clase para la colección de rectángulos. Herencia TObject -> TPersistent -> TCollection -> TLinkedComponents -> TCustomRectangles -> TRectangles Propiedades
Propiedad |
Tipo |
Descripción |
Items (+) |
[I: Integer]: TRectangle |
Lista de rectángulos en la colección. |
Métodos
Método |
Descripción |
Add (+) |
Crea una nueva instancia de TRectangle y la añade en el array de Items. Más informaciónCerrar
function Add: TRectangle;
|
Devuelve |
Nuevo rectángulo. |
|
Insert (+) |
Crea una nueva instancia de TRectangle y la añade en el array de Items. Más informaciónCerrar
function Insert(Index: Integer): TRectangle;
|
Parámetro |
Descripción |
Index |
Posición en la que insertar. |
Devuelve |
Nuevo rectángulo. |
|
Heredados de TLinkedComponents |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(GMLinkedComponent: TGMLinkedComponent; ItemClass: TCollectionItemClass); virtual;
|
Parámetro |
Descripción |
GMLinkedComponent |
Propietario de la colección. |
ItemClass |
Clase de los nuevos elementos. |
|
Clase TRectangle
Descripción Clase para los rectángulos. Más información en Rectangle class. Herencia TObject -> TPersistent -> TCollectionItem -> TLinkedComponent -> TCustomRectangle -> TRectangle Propiedades
Propiedad |
Tipo |
Descripción |
FillColor (*) |
TColor |
Color de relleno. |
StrokeColor (*) |
TColor |
Color del trazo. |
Heredadas de TCustomRectangle |
Bounds (*) |
TLatLngBounds |
Límites del rectángulo. |
Clickable (*) |
Boolean |
Indica si este rentángulo recivirá eventos del ratón. |
Editable (*) |
Boolean |
Si se establece a true, el usuario puede editar este rectángulo desplazando el control mediantes los puntos mostrados en las esquinas y en cada lado. |
FillOpacity (*) |
Real |
Opacidad del relleno con valores entre 0.0 y 1.0. |
InfoWindow (*) |
TBaseInfoWindow |
InfoWindows asociado al objeto. |
StrokeOpacity (*) |
Real |
Opacidad del trazo entre 0.0 y 1.0. |
StrokeWeight (*) |
Integer |
Anchura del trazo en píxeles. |
Text (*) |
string |
Esta propiedad se usa, si procede, para establecer el nombre que aparece en el editor de la colección. |
Visible (*) |
Boolean |
Si el rectángulo es visible en el mapa. |
Heredadas de TLinkedComponent |
Tag (*) |
Integer |
La propiedad Tag no tiene un sentido específico. Puede almacenar un valor entero adicional para comodidad del programador. |
Métodos
Método |
Descripción |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(Collection: TCollection); override;
|
Parámetro |
Descripción |
Collection |
Collection identifica la instancia TCollection a la que pertenece el nuevo elemento. |
|
Heredados de TCustomRectangle |
ComputeArea (+) |
Devuelve el area de una ruta cerrada. El area calculada usa las mismas unidades que Radius. El radio por defecto es el radio de la Tierra en metros, en cuyo caso el área es en metros cuadrados. Más informaciónCerrar
function ComputeArea(Radius: Real = -1): Real;
|
Parámetro |
Descripción |
Radius |
Radio a usar. |
Devuelve |
Area. |
|
Destroy (+) |
Destructor de la clase. Más informaciónCerrar
destructor Destroy; override;
|
|
GetCenter (+) |
Devuelve el centro del rectángulo. Más informaciónCerrar
procedure GetCenter(LL: TLatLng);
|
Parámetro |
Descripción |
LL |
TLatLng con el centro del rectángulo. |
|
GetStrPath (+) |
Convierte en una cadena los cuatro puntos del rectángulo. Los puntos están separados por punto y coma (;) y las coordenadas (lat/lng) separados por una barra vertical (|). Más informaciónCerrar
function GetStrPath: string;
|
Devuelve |
Cadena con la conversión. |
|
ZoomToPoints (+) |
Establece el zoom óptimo para visualizar el rectángulo. Más informaciónCerrar |
Heredados de TLinkedComponent |
CenterMapTo (+) |
Centra el mapa en el primer punto de el rectángulo. Más informaciónCerrar |
OpenCloseInfoWin (+) |
Muestra o oculta la ventana de información. Más informaciónCerrar
procedure OpenCloseInfoWin; virtual;
|
|
Clase TGMCircle
Descripción Clase para la gestión de círculos. Herencia TObject -> TPersistent -> TComponent -> TGMBase -> TGMObjects -> TGMLinkedComponent -> TCustomGMCircle -> TGMCircle Propiedades
Propiedad |
Tipo |
Descripción |
Items (+) |
[I: Integer]: TCircle |
Array con la colección de elementos. |
Heredadas de TCustomGMCircle |
VisualObjects (*) |
[I: Integer]: TCircle |
Colección de elementos. |
Heredadas de TGMLinkedComponent |
AutoUpdate (*) |
Boolean |
Si Active, modifica los objetos de forma automática, sino, necesita recargar el mapa. |
Count (+) |
Integer |
Obtienen el número de elementos de la colección. |
Heredadas de TGMObjects |
Map (*) |
TCustomGMMap |
Mapa asociado al componente. |
Heredadas de TGMBase |
AboutGMLib (*) |
string |
Muestra un formulario «Acerca de» con información de la GMLib. |
APIUrl (*) |
string |
Muestra una url a la página del API de Google Maps relacionada. |
Language (*) |
TLang |
Especifica el idioma en que se mostrarán los mensajes de las excepciones mostradas por la clase/componente. Ver valoresCerrar
TLang = (Espanol, English, French, PortuguesBR, Danish, German, Russian);
|
Métodos
Método |
Descripción |
Add (+) |
Crea una nueva instancia de TCircle y la añade en el array de Items. Más informaciónCerrar
function Add(Lat: Real = 0; Lng: Real = 0; Radius: Integer = 0): TCircle;
|
Parámetro |
Descripción |
Lat |
Latitud del círculo. |
Lng |
Longitud del círculo. |
Radius |
Radio del círculo. |
Devuelve |
Una nueva instancia de TCircle. |
|
Heredados de TGMLinkedComponent |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(AOwner: TComponent); override;
|
Parámetro |
Descripción |
AOwner |
Propietario del componente. |
|
Destroy (+) |
Destructor de la clase. Más informaciónCerrar
destructor Destroy; override;
|
|
Clear (+) |
Borra todos los elementos de la colección. Más informaciónCerrar |
Delete (+) |
Borra un elemento de la colección. Más informaciónCerrar
procedure Delete(Index: Integer);
|
Parámetro |
Descripción |
Index |
Posición a borrar. |
|
Move (+) |
Mueve un item a una nueva posición dentro del array de Items. Más informaciónCerrar
procedure Move(CurIndex, NewIndex: Integer);
|
Parámetro |
Descripción |
CurIndex |
Índice del elemento a mover. |
NewIndex |
Índice destino. |
|
ShowElements (+) |
Muestra los objetos en el mapa. Más informaciónCerrar
procedure ShowElements; override;
|
|
Eventos
Evento |
Tipo |
Descripción |
Heredados de TCustomGMRectangle |
OnCenterChange (*) |
TLatLngIdxEvent |
Este evento ocurre cuando cambia la propiedad Center de un círculo. |
OnClick (*) |
TLatLngIdxEvent |
Este evento ocurre cuando el usuario pulsa un círculo. |
OnClickableChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Clickable de un círculo. |
OnDblClick (*) |
TLatLngIdxEvent |
Este evento ocurre cuando el usuario hace doble click un círculo. |
OnEditableChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Editable de un círculo. |
OnFillColorChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad FillColor de un círculo. |
OnFillOpacityChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad FillOpacity de un círculo. |
OnMouseDown (*) |
TLatLngIdxEvent |
Este evento se dispara al pulsar en el círculo. |
OnMouseMove (*) |
TLatLngIdxEvent |
Este evento se dispara cuando el ratón se mueve por encima del círculo. |
OnMouseOut (*) |
TLatLngIdxEvent |
Este evento se dispara cuando el ratón sale del círculo. |
OnMouseOver (*) |
TLatLngIdxEvent |
Este evento se dispara cuando el ratón entra en el área del círculo. |
OnMouseUp (*) |
TLatLngIdxEvent |
Este evento se dispara al soltar el círculo. |
OnRadiusChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Radius de un círculo. |
OnRightClick (*) |
TLatLngIdxEvent |
Este evento ocurre cuando en un círculo se pulsa el botón derecho del ratón. |
OnStrokeColorChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad StrokeColor de un círculo. |
OnStrokeOpacityChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad StrokeOpacity de un círculo. |
OnStrokeWeightChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad StrokeWeight de un círculo. |
OnVisibleChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Visible de un círculo. |
Heredados de TGMLinkedComponent |
OnCloseClick (*) |
TLinkedComponentChange |
El evento OnCloseClick se dispara cuando la InfoWindows se cierra manualmente. |
OnCloseOtherBeforeOpenChange (*) |
TLinkedComponentChange |
El evento OnCloseOtherBeforeOpenChange se dispara cuando cambia la propiedad CloseOtherBeforeOpen. |
OnDisableAutoPanChange (*) |
TLinkedComponentChange |
El evento OnDisableAutoPanChange se dispara cuando cambia la propiedad DisableAutoPan. |
OnHTMLContentChange (*) |
TLinkedComponentChange |
El evento OnHTMLContentChange se dispara cuando cambia la propiedad HTMLContent. |
OnMaxWidthChange (*) |
TLinkedComponentChange |
El evento OnMaxWidthChange se dispara cuando cambia la propiedad MaxWidth. |
OnPixelOffsetChange (*) |
TLinkedComponentChange |
El evento OnPixelOffsetChange se dispara cuando cambia la propiedad PixelOffset. |
Clase TCircles
Descripción Clase para la colección de círculos. Herencia TObject -> TPersistent -> TCollection -> TLinkedComponents -> TCustomCircles -> TCircles Propiedades
Propiedad |
Tipo |
Descripción |
Items (+) |
[I: Integer]: TCircle |
Lista de círculos en la colección. |
Métodos
Método |
Descripción |
Add (+) |
Crea una nueva instancia de TCircle y la añade en el array de Items. Más informaciónCerrar
function Add: TCircle;
|
Devuelve |
Nuevo círculo. |
|
Insert (+) |
Crea una nueva instancia de TCircle y la añade en el array de Items. Más informaciónCerrar
function Insert(Index: Integer): TCircle;
|
Parámetro |
Descripción |
Index |
Posición en la que insertar. |
Devuelve |
Nuevo círculo. |
|
Heredados de TLinkedComponents |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(GMLinkedComponent: TGMLinkedComponent; ItemClass: TCollectionItemClass); virtual;
|
Parámetro |
Descripción |
GMLinkedComponent |
Propietario de la colección. |
ItemClass |
Clase de los nuevos elementos. |
|
Clase TCircle
Descripción Clase para los círculos. Más información en Circle class. Herencia TObject -> TPersistent -> TCollectionItem -> TLinkedComponent -> TCustomCircle -> TCircle Propiedades
Propiedad |
Tipo |
Descripción |
FillColor (*) |
TColor |
Color de relleno. |
StrokeColor (*) |
TColor |
Color del trazo. |
Heredadas de TCustomCircle |
AutoResize (*) |
TSizeable |
Características para el autoagrandado del círculo. |
Center (*) |
TLatLng |
Centro del círculo. |
Clickable (*) |
Boolean |
Indica si este círculo recivirá eventos del ratón. |
Editable (*) |
Boolean |
Si se establece a treu, el usuario puede editar el círculo arrastrando los puntos de control mostrados en el centro y alrededor de la circunferencia del círculo. |
FillOpacity (*) |
Real |
Opacidad del relleno con valores entre 0.0 y 1.0. |
InfoWindow (*) |
TBaseInfoWindow |
InfoWindows asociado al objeto. |
Radius (*) |
Integer |
Radio en metros en la superficie de la Tierra. |
StrokeOpacity (*) |
Real |
Opacidad del trazo entre 0.0 y 1.0. |
StrokeWeight (*) |
Integer |
Anchura del trazo en píxeles. |
Text (*) |
string |
Esta propiedad se usa, si procede, para establecer el nombre que aparece en el editor de la colección. |
Visible (*) |
Boolean |
Si el círculo es visible en el mapa. |
Heredadas de TLinkedComponent |
Tag (*) |
Integer |
La propiedad Tag no tiene un sentido específico. Puede almacenar un valor entero adicional para comodidad del programador. |
Métodos
Método |
Descripción |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(Collection: TCollection); override;
|
Parámetro |
Descripción |
Collection |
Collection identifica la instancia TCollection a la que pertenece el nuevo elemento. |
|
Heredados de TCustomCircle |
Destroy (+) |
Destructor de la clase. Más informaciónCerrar
destructor Destroy; override;
|
|
GetBounds (+) |
Devuelve el TLatLngBounds del círculo. Más informaciónCerrar
procedure GetBounds(LLB: TLatLngBounds);
|
Parámetro |
Descripción |
LLB |
La TLatLngBounds. |
|
Heredados de TLinkedComponent |
CenterMapTo (+) |
Centra el mapa en el círculo. Más informaciónCerrar |
OpenCloseInfoWin (+) |
Muestra o oculta la ventana de información. Más informaciónCerrar
procedure OpenCloseInfoWin; virtual;
|
|
Clase TSizeable
Descripción Clase para el agrandado automático del círculo. Herencia TObject -> TPersistent -> TCustomSizeable -> TSizeable Propiedades
Propiedad |
Tipo |
Descripción |
Heredadas de TCustomSizeable |
Active (*) |
Boolean |
Activa o desactiva el autoincremento. |
Circular (*) |
Boolean |
Si se establece a true, al llegar al máximo volverá mínimo nuevamente para volver a incrementarse. |
Increment (*) |
Integer |
Incremento del radio por cada intervalo de tiempo. |
Max (*) |
Integer |
Radio máximo hasta el que se agrandará. |
Min (*) |
Integer |
Radio inicial del círculo. |
Speed (*) |
Integer |
Velocidad de incremento del radio en milisegundos. |
Clase TGMDirection
Descripción Clase para gestionar direcciones entre dos o más lugares. Más información en:
Herencia TObject -> TPersistent -> TComponent -> TGMBase -> TGMObjects -> TCustomGMDirection -> TGMDirection Propiedades
Propiedad |
Tipo |
Descripción |
DirectionsRender (*) |
TDirectionsRenderer |
Propiedades que pueden establecerse al objeto DirectionsRenderer. |
DirectionsResult (+) |
[I: Integer]: TDirectionsResult |
Array de resultados. |
Heredadas de TCustomGMDirection |
AutoShow (*) |
Boolean |
Si se establece a true, se mostrará la ruta automáticamente al procesarla. |
Count (+) |
Integer |
Número de resultados. |
DirectionsRequest (*) |
TDirectionsRequest |
Propiedades que pueden establecerse al objeto DirectionsRequest. |
HiddeOthers (*) |
Boolean |
Si se establece a true, oculta las otras rutas mostradas. |
Heredadas de TGMObjects |
Map (*) |
TCustomGMMap |
Mapa asociado al componente. |
Heredadas de TGMBase |
AboutGMLib (*) |
string |
Muestra un formulario «Acerca de» con información de la GMLib. |
APIUrl (*) |
string |
Muestra una url a la página del API de Google Maps relacionada. |
Language (*) |
TLang |
Especifica el idioma en que se mostrarán los mensajes de las excepciones mostradas por la clase/componente. Ver valoresCerrar
TLang = (Espanol, English, French, PortuguesBR, Danish, German, Russian);
|
Métodos
Método |
Descripción |
Heredados de TCustomGMDirection |
AddWaypoint (+) |
Crea una nueva instancia de TWaypoint y la añade en el array de DirectionsRequest.Waypoints. Más informaciónCerrar
function AddWaypoint: TWaypoint;
|
Devuelve |
Una nueva instancia de TWaypoint. |
|
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
ClearWaypoint (+) |
Borra todos los elementos de la colección DirectionsRequest.Waypoints. Más informaciónCerrar |
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(AOwner: TComponent); override;
|
Parámetro |
Descripción |
AOwner |
Propietario del componente. |
|
Delete (+) |
Borra una ruta especificada. Más informaciónCerrar
procedure Delete(ResultIndex: Integer);
|
Parámetro |
Descripción |
ResultIndex |
Índice dentro del array DirectionsResult. |
|
DeleteWaypoint (+) |
Borra un elemento de la colección DirectionsRequest.Waypoints. Más informaciónCerrar
procedure DeleteWaypoint(Index: Integer);
|
Parámetro |
Descripción |
Index |
Posición a borrar. |
|
Destroy (+) |
Destructor de la clase. Más informaciónCerrar
destructor Destroy; override;
|
|
Execute (+) |
Realiza el cálculo de la ruta. Más informaciónCerrar
procedure Execute; virtual;
|
|
MoveWaypoint (+) |
Mueve un item a una nueva posición dentro del array de DirectionsRequest.Waypoints. Más informaciónCerrar
procedure MoveWaypoint(CurIndex, NewIndex: Integer);
|
Parámetro |
Descripción |
CurIndex |
Índice del elemento a mover. |
NewIndex |
Índice destino. |
|
ShowRoute (+) |
Muestra una ruta especificada. Más informaciónCerrar
procedure ShowRoute(ResultIndex, RouteIndex: Integer; HiddeOthers: Boolean = True);
|
Parámetro |
Descripción |
ResultIndex |
Índice dentro del array DirectionsResult. |
RouteIndex |
Índice dentro del array DirectionsResult.Routes. |
HiddeOthers |
A true, oculta las otras rutas mostradas. |
|
Eventos
Evento |
Tipo |
Descripción |
Heredados de TCustomGMDirection |
OnDirectionsChanged (*) |
TNotifyEvent |
Este evento se dispara cuando se produce algún cambio en la ruta mostrada en el mapa. |
Clase TDirectionsResult
Descripción Respuesta Directions devuelta por el servidor de direcciones. Clase base. Más información en google.maps.DirectionsResult object specification Herencia TObject -> TCustomDirectionsResult -> TDirectionsResult Propiedades
Propiedad |
Tipo |
Descripción |
DirectionsRender (+) |
TDirectionsRenderer |
Condiciones de la consulta. |
Heredadas de TCustomDirectionsResult |
Count (+) |
Integer |
Número de Routes. |
FromTo (+) |
string |
Cadena que contiene la búsqueda realizada en formato «Desde a Hasta». |
Index (*) |
Integer |
Índice identificador del TDirectionsResult dentro del array de resultados. |
Routes (+) |
[Index: Integer]: TDirectionsRoute |
Array de TDirectionsRoute, cada una de las cuales contiene información acerca de las etapas y los pasos de los que está compuesta. |
Status (+) |
TDirectionsStatus |
Estado de la consulta. Ver valoresCerrar
TDirectionsStatus = (dsINVALID_REQUEST, dsMAX_WAYPOINTS_EXCEEDED, dsNOT_FOUND,
dsOK, dsOVER_QUERY_LIMIT, dsREQUEST_DENIED, dsUNKNOWN_ERROR, dsZERO_RESULTS);
|
XMLData (+) |
TStringList |
XML de la respuesta. |
Métodos
Método |
Descripción |
Heredados de TCustomDirectionsResult |
ShowRoute (+) |
Muestra una determinada ruta. Más informaciónCerrar
procedure ShowRoute(RouteIndex: Integer = 0; HiddeOthers: Boolean = True);
|
Parámetro |
Descripción |
RouteIndex |
Ruta a mostrar. |
HiddeOthers |
A true, oculta las otras rutas mostradas. |
|
Clase TDirectionsRenderer
Descripción Define las propiedades que pueden ser establecidas en un objeto DirectionsRenderer. Más información en google.maps.DirectionsRendererOptions object specification Herencia TObject -> TCustomDirectionsRenderer -> TDirectionsRenderer Propiedades
Propiedad |
Tipo |
Descripción |
PolylineOptions (*) |
TPolylineOptions |
Opciones para las polilíneas. |
Heredadas de TCustomDirectionsRenderer |
Draggable (*) |
Boolean |
Si se establece a true, permite al usuario desplazar y modificar el camuno de las rutas procesadas por DirectionsRenderer. |
MarkerOptions (*) |
TMarkerOptions |
Opciones para los marcadores. |
PreserveViewport (*) |
Boolean |
Si se establece a false, el mapa se centra y se le aplica el zoom necesario para mostrar el conjunto de direcciones. |
SuppressBicyclingLayer (*) |
Boolean |
Suprime el procesamiento de BicyclingLayer cuando se solicita cómo llegar en bicicleta. |
SuppressInfoWindows (*) |
Boolean |
Suprime el procesamiento de las ventanas de información. |
SuppressMarkers (*) |
Boolean |
Suprime el procesamiento de marcadores. |
SuppressPolylines (*) |
Boolean |
Suprime el procesamiento de polilíneas. |
Clase TDirectionsRequest
Descripción Respuesta Directions devuelta por el servidor de direcciones. Más información en google.maps.DirectionsRequest object specification Herencia TObject -> TPersistent -> TDirectionsRequest Propiedades
Propiedad |
Tipo |
Descripción |
AvoidHighways (*) |
Boolean |
Si se establece a true, el servicio Directions evitará las autopistas siempre que sea posible. |
AvoidTolls (*) |
Boolean |
Si se establece a true, el servicio Directions evitará las carreteras de peaje siempre que sea posible. |
Count (+) |
Integer |
Cantidad de puntos de paso intermedios. |
Destination (*) |
TLatLngStr |
Localización del destino. Puede especificarse como una cadena que será geocodificada o un LatLng. |
OptimizeWaypoints (*) |
Boolean |
Si se establece a true, DirectionService intentará reordenar los puntos de paso intermedios suministrados para minimizar el coste global de la ruta. Si se optimizan los puntos de paso, se tendrá que mirar TDirectionsRoute.WaypointOrder en la respuesta para determinar la nueva ordenación. |
Origin (*) |
TLatLngStr |
Localización del origen. Puede especificarse como una cadena que será geocodificada o un LatLng. |
ProvideRouteAlt (*) |
Boolean |
Si debe o no proveer rutas alternativas. |
Region (*) |
TRegion |
Código de la región usado como influencia para las solicitudes de geocodificación. Ver valoresCerrar
TRegion = (r_NO_REGION, rAFGHANISTAN, rALAND, rALBANIA, rALGERIA, rAMERICAN_SAMOA, rANDORRA,
rANGOLA, rANGUILLA, rANTARCTICA, rANTIGUA_AND_BARBUDA, rARGENTINA, rARMENIA, rARUBA,
rASCENSION_ISLAND, rAUSTRALIA, rAUSTRIA, rAZERBAIJAN, rBAHAMAS, rBAHRAIN, rBANGLADESH,
rBARBADOS, rBELARUS, rBELGIUM, rBELIZE, rBENIN, rBERMUDA, rBHUTAN, rBOLIVIA,
rBOSNIA_AND_HERZEGOVINA, rBOTSWANA, rBRAZIL, rBRITISH_INDIAN_OCEAN_TERRITORY,
rBRITISH_VIRGIN_ISLANDS, rBRUNEI, rBULGARIA, rBURKINA_FASO, rBURUNDI, rCAMBODIA,
rCAMEROON, rCANADA, rCAPE_VERDE, rCAYMAN_ISLANDS, rCENTRAL_AFRICAN_REPUBLIC, rCHAD,
rCHILE, rCHRISTMAS_ISLAND, rCOCOS_KEELING_ISLANDS, rCOLOMBIA, rCOMOROS, rCOOK_ISLANDS,
rCOSTA_RICA, rCOTE_D_IVOIRE, rCROATIA, rCUBA, rCYPRUS, rCZECH_REPUBLIC,
rDEMOCRATIC_PEOPLE_S_REPUBLIC_OF_KOREA, rDEMOCRATIC_REPUBLIC_OF_THE_CONGO, rDENMARK,
rDJIBOUTI, rDOMINICA, rDOMINICAN_REPUBLIC, rEAST_TIMOR, rECUADOR, rEGYPT, rEL_SALVADOR,
rEQUATORIAL_GUINEA, rERITREA, rESTONIA, rETHIOPIA, rEUROPEAN_UNION, rFALKLAND_ISLANDS,
rFAROE_ISLANDS, rFEDERATED_STATES_OF_MICRONESIA, rFIJI, rFINLAND, rFRANCE,
rFRENCH_GUIANA, rFRENCH_POLYNESIA, rFRENCH_SOUTHERN_AND_ANTARCTIC_LANDS, rGABON,
rGEORGIA, rGERMANY, rGHANA, rGIBRALTAR, rGREECE, rGREENLAND, rGRENADA, rGUADELOUPE,
rGUAM, rGUATEMALA, rGUERNSEY, rGUINEA, rGUINEA_BISSAU, rGUYANA, rHAITI,
rHEARD_ISLAND_AND_MCDONALD_ISLANDS, rHONDURAS, rHONG_KONG, rHUNGARY, rICELAND,
rINDIA, rINDONESIA, rIRAN, rIRAQ, rISLE_OF_MAN, rISRAEL, rITALY, rJAMAICA, rJAPAN,
rJERSEY, rJORDAN, rKAZAKHSTAN, rKENYA, rKIRIBATI, rKUWAIT, rKYRGYZSTAN, rLAOS, rLATVIA,
rLEBANON, rLESOTHO, rLIBERIA, rLIBYA, rLIECHTENSTEIN, rLITHUANIA, rLUXEMBOURG, rMACAU,
rMACEDONIA, rMADAGASCAR, rMALAWI, rMALAYSIA, rMALDIVES, rMALI, rMALTA, rMARSHALL_ISLANDS,
rMARTINIQUE, rMAURITANIA, rMAURITIUS, rMAYOTTE, rMEXICO, rMOLDOVA, rMONACO, rMONGOLIA,
rMONTENEGRO, rMONTSERRAT, rMOROCCO, rMOZAMBIQUE, rMYANMAR, rNAMIBIA, rNAURU, rNEPAL,
rNETHERLANDS, rNETHERLANDS_ANTILLES, rNEW_CALEDONIA, rNEW_ZEALAND, rNICARAGUA, rNIGER,
rNIGERIA, rNIUE, rNORFOLK_ISLAND, rNORTHERN_MARIANA_ISLANDS, rNORWAY, rOMAN, rPAKISTAN,
rPALAU, rPALESTINIAN_TERRITORIES, rPANAMA, rPAPUA_NEW_GUINEA, rPARAGUAY,
rPEOPLE_S_REPUBLIC_OF_CHINA, rPERU, rPHILIPPINES, rPITCAIRN_ISLANDS, rPOLAND, rPORTUGAL,
rPUERTO_RICO, rQATAR, rREPUBLIC_OF_IRELAND_AND_NORTHERN_IRELAND, rREPUBLIC_OF_KOREA,
rREPUBLIC_OF_THE_CONGO, rREUNION, rROMANIA, rRUSSIA, rRWANDA, rSAINT_HELENA,
rSAINT_KITTS_AND_NEVIS, rSAINT_LUCIA, rSAINT_VINCENT_AND_THE_GRENADINES,
rSAINT_PIERRE_AND_MIQUELON, rSAMOA, rSAN_MARINO, rSAO_TOME_AND_PRINCIPE, rSAUDI_ARABIA,
rSENEGAL, rSERBIA, rSEYCHELLES, rSIERRA_LEONE, rSINGAPORE, rSLOVAKIA, rSLOVENIA,
rSOLOMON_ISLANDS, rSOMALIA, rSOUTH_AFRICA, rSOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS,
rSOUTH_SUDAN, rSPAIN, rSRI_LANKA, rSUDAN, rSURINAME, rSWAZILAND, rSWEDEN, rSWITZERLAND,
rSYRIA, rTAIWAN, rTAJIKISTAN, rTANZANIA, rTHAILAND, rTHE_GAMBIA, rTOGO, rTOKELAU, rTONGA,
rTRINIDAD_AND_TOBAGO, rTUNISIA, rTURKEY, rTURKMENISTAN, rTURKS_AND_CAICOS_ISLANDS,
rTUVALU, rUGANDA, rUKRAINE, rUNITED_ARAB_EMIRATES, rUNITED_KINGDOM,
rUNITED_STATES_OF_AMERICA, rUNITED_STATES_VIRGIN_ISLANDS, rURUGUAY, rUZBEKISTAN,
rVANUATU, rVATICAN_CITY, rVENEZUELA, rVIETNAM, rWALLIS_AND_FUTUNA, rWESTERN_SAHARA,
rYEMEN, rZAMBIA, rZIMBABWE);
|
TransitOpt (*) |
TTransitOptions |
Configuración que sólo aplicará a las solicitudes cuando TravelMode sea TRANSIT. |
TravelMode (*) |
TTravelMode |
Tipo de ruta solicitada. Ver valoresCerrar
TTravelMode = (tmBICYCLING, tmDRIVING, tmTRANSIT, tmWALKING);
|
UnitSystem (*) |
TUnitSystem |
Sistema de unidades preferido a utilizar para mostrar la distancia. Ver valoresCerrar
TUnitSystem = (usIMPERIAL, usMETRIC);
|
Waypoints (+) |
[I: Integer]: TWaypoint |
Array de puntos de paso intermedios. |
WaypointsList (*) |
TWaypointsList |
Array de puntos de paso intermedios. |
Clase TWaypoint
Descripción Punto de paso intermedio para el cálculo de una ruta. Herencia TObject -> TPersistent -> TCollectionItem -> TWaypoint Propiedades
Propiedad |
Tipo |
Descripción |
Location (*) |
TLatLngStr |
Dirección o punto de coordenadas grográficas del punto de paso. |
StopOver (*) |
Boolean |
A true indica que este punto de paso es una parada entre el origen y el destino. |
Title (*) |
string |
Descripción para el punto de paso. |
Clase TWaypointsList
Descripción Colección de puntos de paso de una ruta. Herencia TObject -> TPersistent -> TCollection -> TWaypointsList Propiedades
Propiedad |
Tipo |
Descripción |
Items (+) |
[I: Integer]: TWaypoint |
Lista de elementos en la colección. |
Métodos
Método |
Descripción |
Add (+) |
Crea una nueva instancia de TWaypoint y la añade en el array de Items. Más informaciónCerrar
function Add: TWaypoint;
|
Devuelve |
Nuevo elemento |
|
Clear (+) |
Borra todos los elementos de la colección. Más informaciónCerrar |
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(aOwner: TPersistent); override;
|
Parámetro |
Descripción |
aOwner |
Propietario del objecto. |
|
Delete (+) |
Borra un elemento de la colección. Más informaciónCerrar
procedure Delete(Index: Integer);
|
Parámetro |
Descripción |
Index |
Posición a borrar. |
|
Insert (+) |
Crea una nueva instancia de TWaypoint y la añade en el array de Items. Más informaciónCerrar
function Insert(Index: Integer): TWaypoint;
|
Parámetro |
Descripción |
Index |
Posición en la que insertar. |
Devuelve |
Nuevo elemento. |
|
Move (+) |
Mueve un item a una nueva posición dentro del array de Items. Más informaciónCerrar
procedure Move(CurIndex, NewIndex: Integer);
|
Parámetro |
Descripción |
CurIndex |
Índice del elemento a mover. |
NewIndex |
Índice destino. |
|
Clase TDirectionsRoute
Descripción Una única ruta que contiene un conjunto de etapas en un DirectionsResult. Más información en DirectionsRoute object specification. Herencia TObject -> TDirectionsRoute Propiedades
Propiedad |
Tipo |
Descripción |
Bounds (+) |
TLatLngBounds |
Límites para la ruta. |
Copyrights (+) |
string |
Texto del Copyrights a mostrar para esta ruta. |
CountLeg (+) |
Integer |
Número de Legs. |
CountOverviewPath (+) |
Integer |
Número de OverviewPath. |
CountWarning (+) |
Integer |
Número de Warnings. |
CountWaypointOrder (+) |
Integer |
Número de WaypointOrder. |
Leg (+) |
[Index: Integer]: TDirectionsLeg |
Array de DirectionsLegs, cada uno de los cuales contiene información acerca de los pasos de los que se compone. |
OverviewPath (+) |
[Index: Integer]: TLatLng |
Array de los TLatLng que representan el curso entero de la ruta. |
Sumary (+) |
string |
Resumen de la ruta. |
Warning (+) |
[Index: Integer]: string |
Advertencias a mostrar cuando se muestre esta dirección. |
WaypointOrder (+) |
[Index: Integer]: Integer |
Si optimizeWaypoints está establecida a true, esta propiedad contiene la reordenación de los puntos de paso introducidos. |
Clase TMarkerOptions
Descripción Opciones para el marcador de una ruta. Más información en MarkerOptions object specification. Herencia TObject -> TPersistent -> TMarkerOptions Propiedades
Propiedad |
Tipo |
Descripción |
Clickable (*) |
Boolean |
Si se establece a true, el marcador recibirá eventos del ratón. |
Draggable (*) |
Boolean |
Si se establece como true, el marcador se puede desplazar. |
Flat (*) |
Boolean |
Si se establece a true, no se mostrará la sombra del marcador. |
Icon (*) |
string |
Icono a mostrar para el marcador. |
Clase TPolylineOptions
Descripción Opciones para el marcador de una ruta. Más información en MarkerOptions object specification. Herencia TObject -> TPersistent -> TCustomPolylineOptions -> TPolylineOptions Propiedades
Propiedad |
Tipo |
Descripción |
StrokeColor (*) |
TColor |
Color del trazo. |
Heredadas de TCustomPolylineOptions |
Clickable (*) |
Boolean |
Indica si la Polilinea recibirá los eventos del ratón. |
Geodesic (*) |
Boolean |
Cuando se establece a true, devuelve cada borde como una geodésica. |
StrokeOpacity (*) |
Real |
Opacidad del trazo entre 0.0 y 1.0. |
StrokeWeight (*) |
Integer |
Anchura del trazo en píxeles. |
Clase TLatLngStr
Descripción Clase interna con información de un punto de coordenadas geográficas y/o una dirección. Herencia TObject -> TPersistent -> TLatLngStr Propiedades
Propiedad |
Tipo |
Descripción |
Address (*) |
string |
Cadena con la dirección de un lugar. |
LatLng (*) |
TLatLng |
Punto de coordenadas geográficas. |
Clase TTransitOptions
Descripción Respuesta Directions devuelta por el servidor de direcciones. Clase base. Más información en TransitOptions object specification. Herencia TObject -> TPersistent -> TTransitOptions Propiedades
Propiedad |
Tipo |
Descripción |
ArrivalDate (*) |
TDate |
Día de llegada deseado para la ruta. |
ArrivalTime (*) |
TTime |
Hora de llegada deseada para la ruta. |
DepartureDate (*) |
TDate |
Día de salida deseado para la ruta. |
DepartureTime (*) |
TTime |
Hora de salida deseada para la ruta. |
Clase TDirectionsLeg
Descripción Una única etapa que consiste en un conjunto de pasos en un TDirectionsResult. Algunos campos de la etapa puede no ser devueltos para todas las peticiones. Más información en DirectionsLeg object specification. Herencia TObject -> TDirectionsLeg Propiedades
Propiedad |
Tipo |
Descripción |
ArrivalTime (+) |
TTimeClass |
Hora de llegada estimada para esta etapa. Sólo aplicable para peticiones TRANSIT. |
CountStep (+) |
Integer |
Cantidad de Steps. |
CountViaWaypoints (+) |
Integer |
Cantidad de ViaWaypoints. |
DepartureTime (+) |
TTimeClass |
Hora estima de salida para esta etapa. Sólo aplicable para peticiones TRANSIT. |
Distance (+) |
TDistance |
Distancia total cubierta por esta etapa. Esta propiedad puede no estar definida si la distancia no es conocida. |
Duration (+) |
TDuration |
Duración total para esta etapa. Esta propiedad puede no estar definida si la duración no es conocida. |
EndAddress (+) |
string |
Dirección del destino de esta etapa. |
EndLocation (+) |
TLatLng |
Indica el destino actual geocodificado. |
StartAddress (+) |
string |
Dirección del origen de esta etapa. |
StartLocation (+) |
TLatLng |
Indica el origen actual geocodificado. |
Step (+) |
[Index: Integer]: TDirectionsStep |
Array de TDirectionsStep, cada uno de los cuales contiene información acerca de los pasos individuales de esta etapa. |
ViaWaypoints (+) |
[Index: Integer]: TLatLng |
Array de puntos de paso a lo largo de esta etapa que no fueron especificado en la petición inicial, resultado del desplazamiento por parte del usuario de la polilinea o por la selección de una ruta alternativa. |
Clase TDirectionsStep
Descripción Un DirectionsStep en un DirectionsResult. Algunos de los campos pueden no estar informados. Más información en DirectionsStep object specification. Herencia TObject -> TDirectionsStep Propiedades
Propiedad |
Tipo |
Descripción |
CountPath (+) |
Integer |
Numero de Paths. |
Distance (+) |
TDistance |
Distancia cubierta por este paso. Esta propiedad puede no estar definida dado que la distancia puede no conocerse. |
Duration (+) |
TDuration |
Tiempo normal usado para realizar este paso en segundos y en formato texto. Esta propiedad puede no estar definida dado que la duración puede no conocerse. |
EndLocation (+) |
TLatLng |
Localización de llegada de este paso. |
Instructions (+) |
string |
Instrucciones de este paso. |
Path (+) |
[Index: integer]: TLatLng |
Secuencia de LatLngs que describen el curso de este paso. |
StartLocation (+) |
TLatLng |
Localización de salida de este paso. |
Steps (+) |
TDirectionsStep |
Pasos secundarios de este paso. |
Transit (+) |
TTransitDetails |
Detalles específicos del tránsito acerca de este paso. Esta propiedad no estará definida a menos que el medio de transporte de este paso sea TRANSIT. |
TravelMode (+) |
TTravelMode |
Modo de transporte usado en este paso. Ver valoresCerrar
TTravelMode = (tmBICYCLING, tmDRIVING, tmTRANSIT, tmWALKING);
|
Clase TDuration
Descripción Representación de la duración como un valor numérico y su representación en cadena. Más información en Duration object specification. Herencia TObject -> TDuration Propiedades
Propiedad |
Tipo |
Descripción |
Text (+) |
string |
Cadena que representa el valor de la duración. |
Value (+) |
Integer |
Duración en segundos. |
Clase TDistance
Descripción Representación de distancias como un valor numérico y su representación en cadena. Más información en Distance object specification. Herencia TObject -> TDistance Propiedades
Propiedad |
Tipo |
Descripción |
Text (+) |
string |
Representación del valor de la distancia, usando la UnitSystem especificada en la solucitud. |
Value (+) |
Integer |
Distancia en metros. |
Clase TTimeClass
Descripción Hora de un salida/llegada. Más información en Time object specification. Herencia TObject -> TTimeClass Propiedades
Propiedad |
Tipo |
Descripción |
Text (+) |
string |
Cadena que representa el valor de la hora. La hora se muestra en la zona horaria de la parada. |
TimeZone (+) |
string |
Zona horaria en la que se encuentra esta parada. El valor es el nombre de la zona horaria definida en la base de datos IANA Time Zone. |
Value (+) |
TDateTime |
Hora de esta salida o llegada. |
Clase TTransitDetails
Descripción Detalles de un paso específico. Más información en TransitDetails object specification. Herencia TObject -> TTransitDetails Propiedades
Propiedad |
Tipo |
Descripción |
ArribalStop (+) |
TTransitStop |
La parada de la llegada de este paso de tránsito. |
ArribalTime (+) |
TTimeClass |
La hora de llegada de este paso. |
DepartureStop (+) |
TTransitStop |
La parada de salida de este paso de tránsito. |
DepartureTime (+) |
TTimeClass |
La hora de salida de este paso. |
Headsign (+) |
string |
La dirección en la que viajar en esta línea, tal como está indicado en el vehículo o en la parada de la salida. |
Headway (+) |
Integer |
Número previsto de segundos entre vehículos equivalentes en esta parada. |
Line (+) |
TTransitLine |
Detalles sobre el transporte público usado en este paso. |
NumStops (+) |
Integer |
Numero de paradas de este paso. Incluye la parada de llegada, pero no la parada de salida. |
Clase TTransitStop
Descripción Un punto de un paso de tránsito específico. Más información en TransitStop object specification. Herencia TObject -> TTransitStop Propiedades
Propiedad |
Tipo |
Descripción |
Location (+) |
TLatLng |
Ubicación de esta parada. |
Name (+) |
string |
Nombre de esta parada de tránsito. |
Clase TTransitLine
Descripción Detalles de un Transporte público usado en un paso específico. Más información en TransitLine object specification. Herencia TObject -> TTransitLine Propiedades
Propiedad |
Tipo |
Descripción |
Agencie (+) |
[Index: Integer]: TTransitAgency |
Agencias que operan en esta línea de transporte público. |
Color (+) |
string |
El color de uso común en la señalización de esta línea de transporte público, representado como una cadena hexadecimal. |
CountAgencie (+) |
Integer |
Contador del número de agencias. |
Icon (+) |
string |
La dirección URL de un icono asociado a esta línea. |
Name (+) |
string |
Nombre completo de esta línea de transporte público, ej. «8 Avenue Local». |
ShortName (+) |
string |
Nombre corto de la línea de transporte público, ej. «E». |
TextColor (+) |
string |
El color del texto de uso común en la señalización de esta línea de transporte público, representado como una cadena hexadecimal. |
Url (+) |
string |
URL de la agencia que es específico de esta línea de transporte público. |
Vehicle (+) |
TTransitVehicle |
El tipo de vehículo usado, ej. train o bus. |
Clase TTransitAgency
Descripción Detalles de un Transporte público usado en un paso específico. Más información en TransitLine object specification. Herencia TObject -> TTransitAgency Propiedades
Propiedad |
Tipo |
Descripción |
Name (+) |
string |
Nombre de la agencia de transporte. |
Phone (+) |
string |
Número de teléfono de la agencia de transporte. |
Url (+) |
string |
URL de la agencia de transporte. |
Clase TTransitVehicle
Descripción Tipo de vehículo usado, ej tren o autobús. Más información en TransitVehicle object specification. Herencia TObject -> TTransitVehicle Propiedades
Propiedad |
Tipo |
Descripción |
Icon (+) |
string |
URL para el icono que corresponde al tipo de vbehículo usado en esta línea. |
LocalIcon (+) |
string |
URL para un icono que corresponde al tipo de vehículo usado en esta región en lugar del icono más general. |
Name (+) |
string |
Nombre para este tipo de TransitVehicle, ej. «Train» o «Bus». |
VehicleType (+) |
TVehicleType |
El tipo de vehículo usado. Ver valoresCerrar
TVehicleType = (vtRAIL, vtMETRO_RAIL, vtSUBWAY, vtTRAM, vtMONORAIL, vtHEAVY_RAIL,
vtCOMMUTER_TRAIN, vtHIGH_SPEED_TRAIN, vtBUS, vtINTERCITY_BUS, vtTROLLEYBUS,
vtSHARE_TAXI, vtFERRY, vtCABLE_CAR, vtGONDOLA_LIFT, vtFUNICULAR, vtOTHER);
|
Clase TGMElevation
Descripción Clase para el cálculo de elevaciones. Más información en:
Herencia TObject -> TPersistent -> TComponent -> TGMBase -> TGMObjects / ILinePoint -> TCustomGMElevation -> TGMElevation Propiedades
Propiedad |
Tipo |
Descripción |
Heredadas de TCustomGMElevation |
CountLinePoints (+) |
Integer |
Cantidad de puntos. |
ElevationResult (+) |
TElevationResults |
Resultado de la búsqueda. |
ElevationType (*) |
TElevationType |
Tipo de búsqueda para las elevaciones. Ver valoresCerrar
TElevationType = (etAlongPath, etForLocations);
|
Items(*) |
[I: Integer]: TLinePoint |
Array con la colección de elementos. |
LinePoints (*) |
TLinePoints |
Camino a lo largo del cual recoger el valor de las elevaciones. |
Samples (*) |
Integer |
Número de puntos equidistantes a lo largo del camino dado para los que recuperar el valor de la elevación, incluido el punto final. El numero de muestras debe ser un valor entre 2 y 512 incluidos. Sólo aplicable a ElevationType = etAlongPath. |
Heredadas de TGMObjects |
Map (*) |
TCustomGMMap |
Mapa asociado al componente. |
Heredadas de TGMBase |
AboutGMLib (*) |
string |
Muestra un formulario «Acerca de» con información de la GMLib. |
APIUrl (*) |
string |
Muestra una url a la página del API de Google Maps relacionada. |
Language (*) |
TLang |
Especifica el idioma en que se mostrarán los mensajes de las excepciones mostradas por la clase/componente. Ver valoresCerrar
TLang = (Espanol, English, French, PortuguesBR, Danish, German, Russian);
|
Métodos
Método |
Descripción |
AddLatLngFromPoly (+) |
Añade puntos desde un TBasePolyline (un TPoyline o un TPolygon). Más informaciónCerrar
procedure AddLatLngFromPoly(Poly: TBasePolyline; DeleteBeforeLoad: Boolean = True); override;
|
Parámetro |
Descripción |
Poly |
TBasePolyline de donde obtener los datos. |
DeleteBeforeLoad |
Si true, elimina todos los puntos existentes antes de cargar el TBasePolyline. |
|
Heredados de TCustomGMElevation |
AddLatLng (+) |
Crea un nuevo punto TLinePoint. Más informaciónCerrar
function AddLatLng(Lat, Lng: Real): TLinePoint; overload;
|
Parámetro |
Descripción |
Lat |
Latitud del punto. |
Lng |
Longitud del punto. |
Devuelve |
Nueva instancia de TLinePoint. |
|
AddLatLng (+) |
Crea un nuevo punto TLinePoint. Más informaciónCerrar
function AddLatLng(LatLng: TLatLng): TLinePoint; overload;
|
Parámetro |
Descripción |
LatLng |
Latitud/Longitud del punto. |
Devuelve |
Nueva instancia de TLinePoint. |
|
AddLatLngFromCSV (+) |
Añade puntos desde un archivo CSV. Más informaciónCerrar
procedure AddLatLngFromCSV(LatColumn, LngColumn: Integer; FileName: string;
Delimiter: Char = ','; DeleteBeforeLoad: Boolean = True; WithRownTitle: Boolean = True);
|
Parámetro |
Descripción |
LatColumn |
Columna con la latitud. |
LngColumn |
Columna con la longitud. |
FileName |
Nombre del fichero CSV. |
Delimiter |
Delimitador usado en el fichero CSV (usualmente «,» o «;»). |
DeleteBeforeLoad |
Si true, elimina todos los puntos existentes antes de cargar el archivo CSV. |
WithRownTitle |
Si true, la primera fila del archivo CSV contendrá el título de las columnas. |
|
AddLatLngFromDataSet (+) |
Añade puntos desde un DataSet. Más informaciónCerrar
procedure AddLatLngFromDataSet(DataSet: TDataSet; LatField, LngField: string;
DeleteBeforeLoad: Boolean = True);
|
Parámetro |
Descripción |
DataSet |
DataSet de donde obtener los datos. |
LatField |
Campo con la latitud. |
LngField |
Campo con la longitud. |
DeleteBeforeLoad |
Si true, elimina todos los puntos existentes antes de cargar el DataSet. |
|
Clear (+) |
Borra todos los puntos. Más informaciónCerrar |
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(AOwner: TComponent); override;
|
Parámetro |
Descripción |
AOwner |
Propietario del componente. |
|
DelLatLng (+) |
Borra un punto específico. Más informaciónCerrar
procedure DelLatLng(Index: Integer);
|
Parámetro |
Descripción |
Index |
Índice del punto a borrar. |
|
Destroy (+) |
Destructor de la clase. Más informaciónCerrar
destructor Destroy; override;
|
|
Execute (+) |
Busca las elevaciones según los parámetros especificados. Más informaciónCerrar |
Clase TElevationResults
Descripción Clase para la colección de elevaciones. Herencia TObject -> TElevationResults Propiedades
Propiedad |
Tipo |
Descripción |
Count (+) |
Integer |
Cantidad de elevaciones. |
Items (+) |
[Index: Integer]: TElevationResult |
Lista de elevaciones. |
Status (+) |
TElevationStatus |
Estado devuelto por ElevationService tras la finalización de una solicitud de elevación. Ver valoresCerrar
TElevationStatus = (esINVALID_REQUEST, esOK, esOVER_QUERY_LIMIT, esREQUEST_DENIED,
esUNKNOWN_ERROR, esNO_REQUEST);
|
Métodos
Método |
Descripción |
Clear (+) |
Borra todos los elementos de la colección de elevaciones. Más informaciónCerrar |
Clase TElevationResult
Descripción Resultado de una llamada a ElevationService. Más información en google.maps.ElevationResult object specification Herencia TObject -> TElevationResult Propiedades
Propiedad |
Tipo |
Descripción |
Elevation (+) |
Real |
Elevación del punto terrestre, en metro sobre el nivel del mar. |
Location (+) |
TLatLng |
Ubicación de este resultado de la elevación. |
Resolution (+) |
Real |
Distancia, en metros, entre los puntos de muestreo de la elevación interpolada. |
Clase TGMGeocode
Descripción Servicio para convertir entre dirección y TLatLng. Más información en
Herencia TObject -> TPersistent -> TComponent -> TGMBase -> TGMObjects -> TGMGeocode Propiedades
Propiedad |
Tipo |
Descripción |
Bounds (*) |
TLatLngBounds |
LatLngBounds dentro de la que buscar. |
Count (+) |
Integer |
Cantidad de resultados. |
GeoResult (+) |
[Index: Integer]: TGeoResult |
Array de resultados. |
GeoStatus (+) |
TGeocoderStatus |
Estado de la geolocalización. Ver valoresCerrar
TGeocoderStatus = (gsERROR, gsINVALID_REQUEST, gsOK, gsOVER_QUERY_LIMIT, gsREQUEST_DENIED,
gsUNKNOWN_ERROR, gsZERO_RESULTS, gsWithoutState);
|
Icon (*) |
string |
Icono para mostrar los resultados. |
LangCode (*) |
TLangCode |
Idioma usado en el resultado. Ver valoresCerrar
TLangCode = (lc_NOT_DEFINED, lcARABIC, lcBASQUE, lcBENGALI, lcBULGARIAN, lcCATALAN,
lcCHINESE_SIMPLIFIED, lcCHINESE_TRADITIONAL, lcCROATIAN, lcCZECH, lcDANISH,
lcDUTCH, lcENGLISH, lcENGLISH_AUSTRALIAN, lcENGLISH_GREAT_BRITAIN, lcFARSI,
lcFILIPINO, lcFINNISH, lcFRENCH, lcGALICIAN, lcGERMAN, lcGREEK, lcGUJARATI,
lcHEBREW, lcHINDI, lcHUNGARIAN, lcINDONESIAN, lcITALIAN, lcJAPANESE, lcKANNADA,
lcKOREAN, lcLATVIAN, lcLITHUANIAN, lcMALAYALAM, lcMARATHI, lcNORWEGIAN,
lcPOLISH, lcPORTUGUESE, lcPORTUGUESE_BRAZIL, lcPORTUGUESE_PORTUGAL, lcROMANIAN,
lcRUSSIAN, lcSERBIAN, lcSLOVAK, lcSLOVENIAN, lcSPANISH, lcSWEDISH, lcTAGALOG,
lcTAMIL, lcTELUGU, lcTHAI, lcTURKISH, lcUKRAINIAN, lcVIETNAMESE);
|
Marker (*) |
TGMMarker |
TGMMarker asociado en el que se crearán los resultados. |
PaintMarkerFound (*) |
Boolean |
Si se establece a true, se crearán los marcadores en el GMMarker asociado. |
Region (*) |
TRegion |
Código de pais utilizado para centrar la búsqueda. Ver valoresCerrar
TRegion = (r_NO_REGION, rAFGHANISTAN, rALAND, rALBANIA, rALGERIA, rAMERICAN_SAMOA, rANDORRA,
rANGOLA, rANGUILLA, rANTARCTICA, rANTIGUA_AND_BARBUDA, rARGENTINA, rARMENIA, rARUBA,
rASCENSION_ISLAND, rAUSTRALIA, rAUSTRIA, rAZERBAIJAN, rBAHAMAS, rBAHRAIN, rBANGLADESH,
rBARBADOS, rBELARUS, rBELGIUM, rBELIZE, rBENIN, rBERMUDA, rBHUTAN, rBOLIVIA,
rBOSNIA_AND_HERZEGOVINA, rBOTSWANA, rBRAZIL, rBRITISH_INDIAN_OCEAN_TERRITORY,
rBRITISH_VIRGIN_ISLANDS, rBRUNEI, rBULGARIA, rBURKINA_FASO, rBURUNDI, rCAMBODIA,
rCAMEROON, rCANADA, rCAPE_VERDE, rCAYMAN_ISLANDS, rCENTRAL_AFRICAN_REPUBLIC, rCHAD,
rCHILE, rCHRISTMAS_ISLAND, rCOCOS_KEELING_ISLANDS, rCOLOMBIA, rCOMOROS, rCOOK_ISLANDS,
rCOSTA_RICA, rCOTE_D_IVOIRE, rCROATIA, rCUBA, rCYPRUS, rCZECH_REPUBLIC,
rDEMOCRATIC_PEOPLE_S_REPUBLIC_OF_KOREA, rDEMOCRATIC_REPUBLIC_OF_THE_CONGO, rDENMARK,
rDJIBOUTI, rDOMINICA, rDOMINICAN_REPUBLIC, rEAST_TIMOR, rECUADOR, rEGYPT, rEL_SALVADOR,
rEQUATORIAL_GUINEA, rERITREA, rESTONIA, rETHIOPIA, rEUROPEAN_UNION, rFALKLAND_ISLANDS,
rFAROE_ISLANDS, rFEDERATED_STATES_OF_MICRONESIA, rFIJI, rFINLAND, rFRANCE,
rFRENCH_GUIANA, rFRENCH_POLYNESIA, rFRENCH_SOUTHERN_AND_ANTARCTIC_LANDS, rGABON,
rGEORGIA, rGERMANY, rGHANA, rGIBRALTAR, rGREECE, rGREENLAND, rGRENADA, rGUADELOUPE,
rGUAM, rGUATEMALA, rGUERNSEY, rGUINEA, rGUINEA_BISSAU, rGUYANA, rHAITI,
rHEARD_ISLAND_AND_MCDONALD_ISLANDS, rHONDURAS, rHONG_KONG, rHUNGARY, rICELAND,
rINDIA, rINDONESIA, rIRAN, rIRAQ, rISLE_OF_MAN, rISRAEL, rITALY, rJAMAICA, rJAPAN,
rJERSEY, rJORDAN, rKAZAKHSTAN, rKENYA, rKIRIBATI, rKUWAIT, rKYRGYZSTAN, rLAOS, rLATVIA,
rLEBANON, rLESOTHO, rLIBERIA, rLIBYA, rLIECHTENSTEIN, rLITHUANIA, rLUXEMBOURG, rMACAU,
rMACEDONIA, rMADAGASCAR, rMALAWI, rMALAYSIA, rMALDIVES, rMALI, rMALTA, rMARSHALL_ISLANDS,
rMARTINIQUE, rMAURITANIA, rMAURITIUS, rMAYOTTE, rMEXICO, rMOLDOVA, rMONACO, rMONGOLIA,
rMONTENEGRO, rMONTSERRAT, rMOROCCO, rMOZAMBIQUE, rMYANMAR, rNAMIBIA, rNAURU, rNEPAL,
rNETHERLANDS, rNETHERLANDS_ANTILLES, rNEW_CALEDONIA, rNEW_ZEALAND, rNICARAGUA, rNIGER,
rNIGERIA, rNIUE, rNORFOLK_ISLAND, rNORTHERN_MARIANA_ISLANDS, rNORWAY, rOMAN, rPAKISTAN,
rPALAU, rPALESTINIAN_TERRITORIES, rPANAMA, rPAPUA_NEW_GUINEA, rPARAGUAY,
rPEOPLE_S_REPUBLIC_OF_CHINA, rPERU, rPHILIPPINES, rPITCAIRN_ISLANDS, rPOLAND, rPORTUGAL,
rPUERTO_RICO, rQATAR, rREPUBLIC_OF_IRELAND_AND_NORTHERN_IRELAND, rREPUBLIC_OF_KOREA,
rREPUBLIC_OF_THE_CONGO, rREUNION, rROMANIA, rRUSSIA, rRWANDA, rSAINT_HELENA,
rSAINT_KITTS_AND_NEVIS, rSAINT_LUCIA, rSAINT_VINCENT_AND_THE_GRENADINES,
rSAINT_PIERRE_AND_MIQUELON, rSAMOA, rSAN_MARINO, rSAO_TOME_AND_PRINCIPE, rSAUDI_ARABIA,
rSENEGAL, rSERBIA, rSEYCHELLES, rSIERRA_LEONE, rSINGAPORE, rSLOVAKIA, rSLOVENIA,
rSOLOMON_ISLANDS, rSOMALIA, rSOUTH_AFRICA, rSOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS,
rSOUTH_SUDAN, rSPAIN, rSRI_LANKA, rSUDAN, rSURINAME, rSWAZILAND, rSWEDEN, rSWITZERLAND,
rSYRIA, rTAIWAN, rTAJIKISTAN, rTANZANIA, rTHAILAND, rTHE_GAMBIA, rTOGO, rTOKELAU, rTONGA,
rTRINIDAD_AND_TOBAGO, rTUNISIA, rTURKEY, rTURKMENISTAN, rTURKS_AND_CAICOS_ISLANDS,
rTUVALU, rUGANDA, rUKRAINE, rUNITED_ARAB_EMIRATES, rUNITED_KINGDOM,
rUNITED_STATES_OF_AMERICA, rUNITED_STATES_VIRGIN_ISLANDS, rURUGUAY, rUZBEKISTAN,
rVANUATU, rVATICAN_CITY, rVENEZUELA, rVIETNAM, rWALLIS_AND_FUTUNA, rWESTERN_SAHARA,
rYEMEN, rZAMBIA, rZIMBABWE);
|
XMLData (+) |
TStringList |
XML resultante de la geocodificación. |
Métodos
Método |
Descripción |
Assign (+) |
El método Assign copia el contenido de un objeto similar.. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(aOwner: TComponent); override;
|
Parámetro |
Descripción |
aOwner |
Propietario del componente. |
|
Destroy (+) |
Destructor de la clase. Más informaciónCerrar
destructor Destroy; override;
|
|
DoMarkers (+) |
Crea los marcadores resultantes de la geocodificación en el TGMMarker asociado. Más informaciónCerrar |
Geocode (+) |
Geolocaliza la TLatLng pasada por parámetro. Más informaciónCerrar
procedure Geocode(LatLng: TLatLng); overload;
|
Parámetro |
Descripción |
LatLng |
TLatLng a geolocalizar. |
|
Geocode (+) |
Geolocaliza la dirección pasada por parámetro. Más informaciónCerrar
procedure Geocode(Address: string); overload;
|
Parámetro |
Descripción |
Address |
Dirección a geolocalizar. |
|
Geocode (+) |
Geolocaliza la Lat/Lng pasada por parámetro. Más informaciónCerrar
procedure Geocode(Lat, Lng: Real); overload;
|
Parámetro |
Descripción |
Lat |
Latitud a geolocalizar. |
Lng |
Longitud a geolocalizar. |
|
Eventos
Evento |
Tipo |
Descripción |
AfterGetData (*) |
TNotifyEvent |
Evento disparado después de conseguir los datos. |
AfterParseData (*) |
TNotifyEvent |
Evento disparado después de analizar los datos. |
BeforeParseData (*) |
TNotifyEvent |
Evento disparado antes de analizar los datos. |
OnParseData (*) |
TParseData |
Evento disparado durante el análisis de los datos. |
Clase TGeoResult
Descripción Un único resultado de la geocodificación devuelto por el servidor de geocodificación. Una consulta de geocodificación puede devolver varios resultados. Más información en google.maps.GeocoderResult object specification Herencia TObject -> TGeoResult Propiedades
Propiedad |
Tipo |
Descripción |
AddrCompList (+) |
TAddressComponentsList |
Lista de GeocoderAddressComponents. |
FormatedAddr (+) |
string |
Cadena que contiene la dirección interpretable por humanos de la localización. |
Geometry (+) |
TGeometry |
Información geométrica del GeocoderResult. |
TypeList (+) |
TStringList |
Lista de cadenas que representan el tipo de elemento devuelto por la geocodificación. |
Clase TAddressComponentsList
Descripción Clase interna para gestionar la lista de componentes de la dirección. Herencia TObject -> TAddressComponentsList Propiedades
Clase TAddressComponent
Descripción Un componente de la dirección único dentro de un GeocoderResult. Una dirección completa puede constar de múltiples componentes de dirección. Más información en google.maps.GeocoderAddressComponent object specification Herencia TObject -> TAddressComponent Propiedades
Propiedad |
Tipo |
Descripción |
AddrCompTypeList (+) |
TStringList |
Lista de cadenas que representan el tipo de este componente de la dirección. |
LongName (+) |
string |
Texto completo del componente de la dirección. |
ShortName (+) |
string |
Abreviación o texto corto del componente de la dirección dado. |
Clase TGeocodeGeometry
Descripción Información geométrica del GeocoderResult. Más información en google.maps.GeocoderGeometry object specification Herencia TObject -> TGeocodeGeometry Propiedades
Propiedad |
Tipo |
Descripción |
Bounds (+) |
TLatLngBounds |
Límites precisos de este GeocodeResult, si aplica. |
Location (+) |
TLatLng |
Las coordenadas de éste resultado. |
LocationType (+) |
TGeocoderLocationType |
Tipo de ubicación devuelta en la localización. Ver valoresCerrar
TGeocoderLocationType = (gltAPPROXIMATE, gltGEOMETRIC_CENTER, gltRANGE_INTERPOLATED,
gltROOFTOP, gltNOTHING);
|
Viewport (+) |
TLatLngBounds |
Los límites de la ventana recomendada para mostrar este GeocodeResult. |
Clase TGeometry
Descripción Clase para acceder a la libraría Geometry. Más información en
Herencia TObject -> TGeometry Métodos
Método |
Descripción |
ComputeArea (+) |
Devuelve el área de una ruta cerrada. El área calculada usa las mismas unidades que Radius. El radio por defecto es el radio de la Tierra en metros, en cuyo caso el área es en metros cuadrados.Los puntos tiene que estar separados por punto y coma (;) y la Lat/Lng de un punto por una barra vertical (|). Más informaciónCerrar
class function ComputeArea(Map: TCustomGMMap; PointsStr: string; Radius: Real = -1): Real;
|
Parámetro |
Descripción |
Map |
Mapa para acceder a las funciones JavaScript. |
PointsStr |
String con los puntos. |
Radius |
Radio. -1 radio por defecto. |
Devuelve |
Area. |
|
ComputeDistanceBetween (+) |
Devuelve la distancia entre dos LatLngs. Más informaciónCerrar
class function ComputeDistanceBetween(Map: TCustomGMMap; Origin, Dest: TLatLng;
Radius: Real = -1): Real;
|
Parámetro |
Descripción |
Map |
Mapa para acceder a las funciones JavaScript. |
Origin |
TLatLng origen. |
Dest |
TLatLng destino. |
Radius |
Radio. -1 radio por defecto. |
Devuelve |
Distancia entre los puntos. |
|
ComputeHeading (+) |
Devuelve los grados entre dos TLatLng. Más informaciónCerrar
class function ComputeHeading(Map: TCustomGMMap; Origin, Dest: TLatLng): Real;
|
Parámetro |
Descripción |
Map |
Mapa para acceder a las funciones JavaScript. |
Origin |
TLatLng origen. |
Dest |
TLatLng destino. |
Devuelve |
Grados entre los puntos. |
|
ComputeLength (+) |
Devuelve la longitud del camino dado.Los puntos tiene que estar separados por punto y coma (;) y la Lat/Lng de un punto por una barra vertical (|). Más informaciónCerrar
class function ComputeLength(Map: TCustomGMMap; PointsStr: string;
Radius: Real = -1): Real;
|
Parámetro |
Descripción |
Map |
Mapa para acceder a las funciones JavaScript. |
PointsStr |
Cadena con los puntos. |
Radius |
Radio. -1 radio por defecto. |
Devuelve |
Longitud. |
|
ComputeOffset (+) |
Devuelve la TLatLng resultante de desplazarse una distancia desde un origen en unos grados específicos. Más informaciónCerrar
class procedure ComputeOffset(Map: TCustomGMMap; Origin: TLatLng; Distance,
Heading: Real; Result: TLatLng; Radius: Real = -1);
|
Parámetro |
Descripción |
Map |
Mapa para acceder a las funciones JavaScript. |
Origin |
TLatLng origen. |
Distance |
Distancia a desplazarse. |
Heading |
Grados. |
Result |
TLatLng resultante. |
Radius |
Radio. -1 radio por defecto. |
|
ComputeOffsetOrigin (+) |
Devuelve la TLatLng del origen sabiendo la TLatLng destino, los metros desplazados y los grados iniciales. Más informaciónCerrar
class procedure ComputeOffsetOrigin(Map: TCustomGMMap; Dest: TLatLng; Distance,
Heading: Real; Result: TLatLng; Radius: Real = -1);
|
Parámetro |
Descripción |
Map |
Mapa para acceder a las funciones JavaScript. |
Dest |
TLatLng destino. |
Distance |
Distancia desplazada. |
Heading |
Grados. |
Result |
TLatLng resultante. |
Radius |
Radio. -1 radio por defecto. |
|
ComputeSignedArea (+) |
Devuelve el area de una ruta cerrada.Los puntos tiene que estar separados por punto y coma (;) y la Lat/Lng de un punto por una barra vertical (|). Más informaciónCerrar
class function ComputeSignedArea(Map: TCustomGMMap; PointsStr: string;
Radius: Real = -1): Real;
|
Parámetro |
Descripción |
Map |
Mapa para acceder a las funciones JavaScript. |
PointsStr |
String con los puntos. |
Radius |
Radio. -1 radio por defecto. |
Devuelve |
Longitud. |
|
DecodePath (+) |
Decodifica un string codificado en una secuencia de TLatLng. Más informaciónCerrar
class function DecodePath(Map: TCustomGMMap; EncodedPath: string): string;
|
Parámetro |
Descripción |
Map |
Mapa para acceder a las funciones JavaScript. |
EncodedPath |
Path a decodificar. |
Devuelve |
Cadena con puntos decodificados. |
|
EncodePath (+) |
Codifica una secuencia de TLatLng en un string codificado.Los puntos tiene que estar separados por punto y coma (;) y la Lat/Lng de un punto por una barra vertical (|). Más informaciónCerrar
class function EncodePath(Map: TCustomGMMap; PointsStr: string): string;
|
Parámetro |
Descripción |
Map |
Mapa para acceder a las funciones JavaScript. |
PointsStr |
Cadena con los puntos a codificar. |
Devuelve |
Cadena codificada. |
|
Interpolate (+) |
Devuelve la TLatLng que se encuentra en la fracción dada del camino entre la TLatLng origen y la TLatLng destino. Más informaciónCerrar
class procedure Interpolate(Map: TCustomGMMap; Origin, Dest: TLatLng;
Fraction: Real; Result: TLatLng);
|
Parámetro |
Descripción |
Map |
Mapa para acceder a las funciones JavaScript. |
Origin |
TLatLng origen. |
Dest |
TLatLng destino. |
Fraction |
Fracción. |
Result |
TLatLng resultante. |
|
IsLocationOnEdge (+) |
Calcula si el punto dado se encuentra en o cerca de una polilínea, o el borde de un polígono, dentro de una tolerancia especificada. Más informaciónCerrar
class function IsLocationOnEdge(GMPoly: TGMBasePolyline; Idx: Integer;
LatLng: TLatLng; Tolerance: Integer): Boolean;
|
Parámetro |
Descripción |
GMPoly |
GMPolyline o GMPolygon. |
Idx |
Índice que especifica una Polyline o Polygon. |
LatLng |
TLatLng a calcular. |
Tolerance |
Tolerancia. -1 sin tolerancia. |
Devuelve |
True si el punto se encuentra en o cerca de una polilínea, o el borde de un polígono. |
|
ContainsLocation (+) |
Calcula si el punto dado se encuentra dentro del polígono especificado. Más informaciónCerrar
class function ContainsLocation(GMPoly: TGMPolygon; Idx: Integer;
LatLng: TLatLng): Boolean;
|
Parámetro |
Descripción |
GMPoly |
GMPolygon. |
Idx |
Índice que especifica un Polygon. |
LatLng |
TLatLng a calcular. |
Devuelve |
True si el punto se encuentra dentro del polígono. |
|
Clase TGMGroundOverlay
Descripción Clase para la gestión de imágenes superpuestas. Herencia TObject -> TPersistent -> TComponent -> TGMBase -> TGMObjects -> TGMLinkedComponent -> TGMGroundOverlay Propiedades
Propiedad |
Tipo |
Descripción |
Items (+) |
[I: Integer]: TGroundOverlay |
Array con la colección de elementos. |
VisualObjects (*) |
[I: Integer]: TGroundOverlay |
Colección de elementos. |
Heredadas de TGMLinkedComponent |
AutoUpdate (*) |
Boolean |
Si Active, modifica los objetos de forma automática, sino, necesita recargar el mapa. |
Count (+) |
Integer |
Obtienen el número de elementos de la colección. |
Heredadas de TGMObjects |
Map (*) |
TCustomGMMap |
Mapa asociado al componente. |
Heredadas de TGMBase |
AboutGMLib (*) |
string |
Muestra un formulario «Acerca de» con información de la GMLib. |
APIUrl (*) |
string |
Muestra una url a la página del API de Google Maps relacionada. |
Language (*) |
TLang |
Especifica el idioma en que se mostrarán los mensajes de las excepciones mostradas por la clase/componente. Ver valoresCerrar
TLang = (Espanol, English, French, PortuguesBR, Danish, German, Russian);
|
Métodos
Método |
Descripción |
Add (+) |
Crea una nueva instancia de TGroundOverlay y la añade en el array de Items. Más informaciónCerrar
function Add(Url: string; SWLat: Real = 0; SWLng: Real = 0; NELat: Real = 0; NELng: Real = 0): TGroundOverlay;
|
Parámetro |
Descripción |
Url |
Url o path del fichero imagen a superponer. |
SWLat |
Latitud suroeste de la superposición. |
SWLng |
Longitud suroeste de la superposición. |
NELat |
Latitud noreste de la superposición. |
NELng |
Longitud noreste de la superposición. |
Devuelve |
Una nueva instancia de TGroundOverlay. |
|
Heredados de TGMLinkedComponent |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(AOwner: TComponent); override;
|
Parámetro |
Descripción |
AOwner |
Propietario del componente. |
|
Destroy (+) |
Destructor de la clase. Más informaciónCerrar
destructor Destroy; override;
|
|
Clear (+) |
Borra todos los elementos de la colección. Más informaciónCerrar |
Delete (+) |
Borra un elemento de la colección. Más informaciónCerrar
procedure Delete(Index: Integer);
|
Parámetro |
Descripción |
Index |
Posición a borrar. |
|
Move (+) |
Mueve un item a una nueva posición dentro del array de Items. Más informaciónCerrar
procedure Move(CurIndex, NewIndex: Integer);
|
Parámetro |
Descripción |
CurIndex |
Índice del elemento a mover. |
NewIndex |
Índice destino. |
|
ShowElements (+) |
Muestra los objetos en el mapa. Más informaciónCerrar
procedure ShowElements; override;
|
|
Eventos
Evento |
Tipo |
Descripción |
OnBoundsChanged (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambian los límites de una superposición. |
OnClick (*) |
TLatLngIdxEvent |
Este evento ocurre cuando el usuario pulsa una superposición. |
OnClickableChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Clickable de una superposición. |
OnDblClick (*) |
TLatLngIdxEvent |
Este evento ocurre cuando el usuario hace double-clic en una superposición. |
OnOpacityChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Opacity de una superposición. |
OnUrlChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Url de una superposición. |
OnVisibleChange (*) |
TLinkedComponentChange |
Este evento ocurre cuando cambia la propiedad Visible de una superposición. |
Heredados de TGMLinkedComponent |
OnCloseClick (*) |
TLinkedComponentChange |
El evento OnCloseClick se dispara cuando la InfoWindows se cierra manualmente. |
OnCloseOtherBeforeOpenChange (*) |
TLinkedComponentChange |
El evento OnCloseOtherBeforeOpenChange se dispara cuando cambia la propiedad CloseOtherBeforeOpen. |
OnDisableAutoPanChange (*) |
TLinkedComponentChange |
El evento OnDisableAutoPanChange se dispara cuando cambia la propiedad DisableAutoPan. |
OnHTMLContentChange (*) |
TLinkedComponentChange |
El evento OnHTMLContentChange se dispara cuando cambia la propiedad HTMLContent. |
OnMaxWidthChange (*) |
TLinkedComponentChange |
El evento OnMaxWidthChange se dispara cuando cambia la propiedad MaxWidth. |
OnPixelOffsetChange (*) |
TLinkedComponentChange |
El evento OnPixelOffsetChange se dispara cuando cambia la propiedad PixelOffset. |
Clase TGroundOverlays
Descripción Clase para la colección de superposiciones. Herencia TObject -> TPersistent -> TCollection -> TLinkedComponents -> TGroundOverlays Propiedades
Propiedad |
Tipo |
Descripción |
Items (+) |
[I: Integer]: TGroundOverlay |
Lista de superposiciones en la colección. |
Métodos
Método |
Descripción |
Add (+) |
Crea una nueva instancia de TGroundOverlay y la añade en el array de Items. Más informaciónCerrar |
Insert (+) |
Crea una nueva instancia de TGroundOverlay y la añade en el array de Items. Más informaciónCerrar
function Insert(Index: Integer): TGroundOverlay;
|
Parámetro |
Descripción |
Index |
Posición en la que insertar. |
Devuelve |
Nuevo TGroundOverlay. |
|
Heredados de TLinkedComponents |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(GMLinkedComponent: TGMLinkedComponent; ItemClass: TCollectionItemClass); virtual;
|
Parámetro |
Descripción |
GMLinkedComponent |
Propietario de la colección. |
ItemClass |
Clase de los nuevos elementos. |
|
Clase TGroundOverlay
Descripción Clase para las superposiciones. Más información en GroundOverlay class. Herencia TObject -> TPersistent -> TCollectionItem -> TLinkedComponent -> TGroundOverlay Propiedades
Propiedad |
Tipo |
Descripción |
Bounds (*) |
TLatLngBounds |
Límites de la superposición. |
Clickable (*) |
Boolean |
Indica si esta superposicón recivirá eventos del ratón. |
InfoWindow (*) |
TBaseInfoWindow |
InfoWindows asociado al objeto. |
Opacity (*) |
Real |
Opacidad entre 0.0 y 1.0. |
Text (*) |
string |
Esta propiedad se usa, si procede, para establecer el nombre que aparece en el editor de la colección. |
Url (*) |
string |
Url o path del fichero de la imagen a mostar. |
Visible (*) |
Boolean |
Si la superposición es visible en el mapa. |
Heredadas de TLinkedComponent |
Tag (*) |
Integer |
La propiedad Tag no tiene un sentido específico. Puede almacenar un valor entero adicional para comodidad del programador. |
Métodos
Método |
Descripción |
Assign (+) |
El método Assign copia el contenido de un objeto similar. Más informaciónCerrar
procedure Assign(Source: TPersistent); override;
|
Parámetro |
Descripción |
Source |
Objeto a copiar el contenido. |
|
Create (+) |
Constructor de la clase. Más informaciónCerrar
constructor Create(Collection: TCollection); override;
|
Parámetro |
Descripción |
Collection |
Collection identifica la instancia TCollection a la que pertenece el nuevo elemento. |
|
Destroy (+) |
Destructor de la clase. Más informaciónCerrar
destructor Destroy; override;
|
|
Heredados de TLinkedComponent |
CenterMapTo (+) |
Centra el mapa en el primer punto de la superposición. Más informaciónCerrar |
OpenCloseInfoWin (+) |
Muestra o oculta la ventana de información. Más informaciónCerrar
procedure OpenCloseInfoWin; virtual;
|
|
Clase TStreetView
Descripción Características del panorama StreetView. Herencia TObject -> TPersistent -> TStreetView Propiedades
Propiedad |
Tipo |
Descripción |
Visible (*) |
Boolean |
Hace visible el panoráma StreetView. |
Clase TCurveLine
Descripción Clase para determinar las propiedades de una línea curva. Basado en Curved Line Plugin for Google Maps Api. Herencia TObject -> TPersistent -> TCurveLine Propiedades
Propiedad |
Tipo |
Descripción |
Active (*) |
Boolean |
Activar línea curva. Si se activa, sólo se tendrán en cuenta los puntos inicial y final del path. |
Horizontal (*) |
Boolean |
Para lineas horizontales o verticales. |
Multiplier (*) |
Integer |
Multiplicador para la línea curva. |
Resolution (*) |
Real |
Numero para definir cuántos puntos habrá en la línea curva. Por ejemplo, 0.1 significa que habrá un punto cada 10% a lo largo de la línea, 0.05 significa que habrá un punto cada 5% a lo largo de la línea. |
Hola que tal, excelente tu pagina, apenas he dado con ella y se me hace muy interesante, estoy probando tus componentes para Google Maps y despues de jugar un poco con los ejemplos que vienen con las librerias, me puse a checar el que permite insertar etiquetas en el mapa «GMMarker» y quisiera saber si me puedes indicar como puedo hacer para insertar un marcador por codigo, lo que pasa es que si deseo poner marcadores desde el Componente con el «Marker Editor» me funciona excelente.
Pero en mi caso yo lo quiero utilizar con una base de datos, tengo mis campos Longitud, Latitud, Titulo y HTMLContent y me gustaria saber como agregarle las cordenas que filtro para que me las muestre segun las que cumplan con la condicion que seleccione supongo que sera algo como
Procedure TForm1.CargarMarcadores;
var
i: Integer;
begin
for i:0 to Table1.RecordCount do
GMMarker1.VisualObjects //// Agregarle la Longitud, Latitud conforme encuentra los registros
….
He intentado con la ayuda que da el propio delphi cuando escribes y te muestra la lista de opciones pero no sabria cual es la que me permite agregarlo manualmente, te agradeceria mucho me pudieras comentar cual seria esta forma 🙂
Saludos
P.D. Muchas gracias por compartir tu codigo es muy util y educativo
Buenas,
Ante todo gracias por probar los componentes y hacer de «conejillo de indias» dada la «juventud» de los mismos (no son ni beta jejejeje)
Lo que quieres es sencillo de hacer. Desde la clase TGMMarker tienes un método para ello y podría ser algo así
Si sólo le vas a dar valor a la lat/lon y título, puedes hacerlo directamente desde el método Add.
Espero te sea de ayuda
Nos leemos
cadetill
Cadetill muchas gracias por tu respuesta, me ayudo mucho pero aun sigo con el detalle de que si tengo yo las ubicaciones en mi base de datos (restaurantes, cines, parques, etc) y por ejemplo filtro «restaurantes» el resultado me muestra en un DBGrid las columnas Latitud, Longitud y Titulo o Nombre si lo hago uno por uno tocandolo no hay problema, pero si quiero que me carge el X numero de restaurantes que tengo en mi base y que cumplen el criterio de mi consulta que se muestran en el dbgrid se traba mi aplicacion.
Mi aplicacion es sencilla y utilizo mysql donde almaceno direcciones y lugares y ahora que veo la posibilidad de ubicarlos en un mapa me parecio muy buena idea
Mi consulta es basicamente
SELECT
MainDB.ID,
MainDB.LUGAR,
MainDB.LATITUD,
MainDB.LONGITUD
FROM
MainDB
WHERE
MainDB.LUGAR = 'RESTAURANT'
Y ya que me los muestra en la DBGrid los intento leer de la siguiente manera
procedure TForm1.Button2Click(Sender: TObject);
var
Marker: TMarker;
Lat, Long: Real;
begin
Lat:= Table1.FieldbyName('Latitud').ASFloat;
Long:= Table1.FieldbyName('Longitud').ASFloat;
UniTable1.First;
While Not UniTable1.Eof do
Marker := GMMarker1.Add(Lat , Long, 'título para el marcador');
Unitable1.Next;
end;
No se si haya una mejor forma de hacerlo directo desde una consulta pero si es asi no sabria por donde leer los datos para que los carge directos al mapa mientras realiza la consulta, por eso ya que tengo los datos en la DbGrid los intento cargar uno por uno 🙂
Cualquier sugerencia se agradece 😀
Por cierto una observación igual no se si sea relevante pero a mi si me parece curioso y creo que por eso no me carga las coordenadas aunque se las ponga manuales, yo me encuentro en México y aquí el símbolo decimal es el «.» y veo que en España es «,» de hecho cuando compilo tus ejemplos que incluyes e intento cargar las coordenadas que vienen de ejemplo me dice que hay un error y para que me funcione lo tengo que poner con «.» 🙂 saludos
—————————
Gmmarker_demo
—————————
‘41,380908’ is not a valid floating point value.
Buenas
La forma en que cargas los marcadores es la correcta. No hay otra manera que hacer el bucle. Aun no hay un «TDBMarker» jejejeje Quizás en un futuro 😉
Sólo un comentario. Si no vas a usar el TMarker creado, puedes obviar la variable 😉
En cuanto al tema del separador decimal, pues es cierto, la demo está pensada para la gente que use como separador decimal la coma, no el punto. No obstante, eso sólo afecta a la demo, no al componente, ¿correcto?
Nos leemos
cadetill
Muchas gracias mi estimado Cadetill, por alguna razon he notado que cuando cargo alguna corrdinada me sale un error que en estos momentos no tengo el dato, busque en google y corresponde si mal no recuerdo al mismo script de carga de google maps.
Pues de la forma en que cargo los marcadores aunque algo rudimentaria 😀 por no decir mas jajajaja me esta dando errores, ya que cada que ejecuto el codigo el programa se traba y tengo que cerrarlo, pero si lo ejecuto
( disculpame si no queda las etiquetas de codigo porque intente ponerselas pero no me salio 😀 )
procedure TForm1.Button2Click(Sender: TObject);
var
Marker: TMarker;
Lat, Long: Real;
begin
Lat:= Table1.FieldbyName('Latitud').ASFloat;
Long:= Table1.FieldbyName('Longitud').ASFloat;
Marker := GMMarker1.Add(Lat , Long, 'título para el marcador');
Unitable1.Next;
end;
Por cada ves que oprimo el boton me carga perfectamente los marcadores claro que no es lo ideal 😀 intentare probar de otras formas para ver porque se bloquea mi programa.
Por cierto lo de un TDBMarker no estaria nada descabellado 😉
Pd. En efecto lo de la coma por punto solo afecta la demo, el componente funciona excelente 😀
hola, bueno estoy tratando de hacer algo parecido a tu programa y al principio me tope con que esta version no es compatible con firemonkey x3. ahora bien como hace para capturar en tu base de datos la logitud y latitud?
Buenas
Sólo decirte que los componentes sí son compatibles con FMX. Lo que pasa es que al no haber un navegador compatible con esta versión de Delphi, no tiene sentido instalar los componentes en FMX 😉
Nos leemos
Buen inicio de semana Cadetill, pues bien a base de ensayo y error ya pude hacer que de manera «automatica» me carge los marcadores, al principio me costo trabajo debido a que me faltaba una line a que hacia referencia a que utilizaria la Tabla, por eso se bloqueaba, despues el problema surgio porque queria leer directamente de los DBEdits, y solo me cargaba el primer marcador, asi que lo que se me ocurrio es que al recorrer los registros encontrados me leyera el valor directo de cada «campo» de mi base de datos, y quedo de la siguiente forma por si alguien mas le llega a interesar:
procedure TForm1.Button2Click(Sender: TObject);
var
Marker: TMarker;
begin
with Form1.Table1 do begin
First;
while not eof do begin
Marker := GMMarker1.Add(Table1.FieldByName('Latitud').AsFloat , Table1.FieldByName('Longitud').AsFloat, Table1.FieldByName('Lugar').AsString);
Next;
end;
end;
end;
Hola Erik
Correcto, esa sería la forma de hacer, coger los valores directamente de la tabla
Me alegra que lo hayas solucionado 🙂
Nos leemos
cadetill
trato de hacer lo mismo pero me da un error en float, mi campo de la base de dato en varchar.
Buenas,
No entiendo tu problema. Si quieres mándame un correo (lo tienes en todas las unidades de los componentes) con una demo de lo que te pasa y me lo miro.
Nos leemos
Nuevamente saludando Cadetill, mira intente buscar algún procedimiento desde tu componente para quitar las etiquetas, pero no lo encontre 😀
Asi que me invente un pequeño procedimiento
procedure TForm1.LimpiarMarcadores;
var
i: Integer;
begin
for I := 1 to Table1.RecordCount do
GMMarker1.Delete(0);
end;
El unico detalle es que debe de haber marcadores si no marcara error «List index out of bounds (0)» lo cual es logico considerando que quiero borrar y no hay nada que borrar 🙂
Otra pregunta, intento cargar desde mi FormShow
procedure TForm1.FormShow(Sender: TObject);
begin
GMMap1.RequiredProp.Center.Lat := Latitud;
GMMap1.RequiredProp.Center.Lng := Longitud;
GMMap1.RequiredProp.Zoom := 8;
GMMap1.DoMap;
end;
Pero me devuelve el siguiente error: «Página inicial aun no cargada.»
Ese mismo codigo lo pongo en un boton y me funciona perfectamente.
Hay algun metodo o forma o estoy omitiendo algo que evita que pueda cargar la pagina de forma automatica??
Por cierto de verdad muchas gracias por tu paciencia 😀 y comentarios 😀
Buenas,
Todo componente descendiente de TGMLinkedComponent (léase TGMMarker, TGMInfoWindows,….) tienen el método Clear, con lo que con un simple GMMarker1.Clear, borras los marcadores.
Con un bucle también podrías hacerlo, pero en lugar de basarte en la tabla, recorrer directamente los marcadores que tienes
for i := GMMarker1.VisualObjects.Count – 1 downto 0 do GMMarker1.Delete(i);
Respecto al otro problema, como digo en la ayuda, lo primero que se tiene que hacer es activar el TGMMap (Active := true)para cargar el HTML básico que se necesita para operar con el componente. Esto dispara el evento AfterPageLoaded con el parámetro First a true, que puedes usar para disparar el DoMap o habilitar el botón que lo muestro o activar un TTimer que al cabo de x milisegondos se dispare y realice el DoMap,….
Espero te ayude y gracias a ti por probarlo
Nos leemos
cadetill
Excelente!!! trabajo. Los voy a probar.
Saludos
Gracias compañero
Sobretodo tener presente que es una versión pre-alpha, sujeta a mejoras a medida que vaya trabajando en ella 🙂
Nos leemos
cadetill
Estimado Cadetill gracias por tus comentarios pero no se si sea solo a mi pero el metodo Clear, me da error al compilar, lo pongo de la misma manera «GMMarker1.Clear» y no me permite continuar incluso cuando lo escribo manualmente, despues del punto en la lista de funciones y procedimientos no me aparece la funcion o metodo CLEAR
No se si lo puedas checar para ver si en tu delphi si funciona, saludos
jejeje, perdón, no me acordaba que es un método que he añadido para la próxima versión de los componentes que no tardará en salir (y que contendrá el objeto TGMPolyline) 🙂
Si «tienes prisa» puedes usar el bucle que te comentaba y, cuando suba la nueva versión, pues ya lo sustituyes por el nuevo método 🙂
Nos leemos
cadetill
😀 Ya decia yo que no me aparecia, por mientras lo estoy dejando como te mencione, porque el bucle que me indicas por alguna razon no me lo compila asi con DownTO pero igual es por algun detalle lo voy a checar, ya que si la nueva version contiene CLEAN estaria excelente y mas limpio, porque de mi forma noto que de repente me borra todos los marcadores pero despues cuando cargo otros me deja los anteriores, supongo porque como me djiste lo baso en mis registros encontrados no en los marcadore.
En horabuena por la siguiente version y esperandola para probarla 😀 Saludos
Saludos Cadetill aqui de nuevo saludando 😀
Un comentario o detalle que he notado no si sea por la cuestion de precision del componente o por alguna otra cuestion, ya que solo en mis ratos libres estoy trabajando en mi programita 😀
Lo que pasa es que cuando copio las latitudes y longitudes desde los mapas de google con el explorador o firefox me las muestra correctamente con el componente, pero si las copio de google maps la aplicacion, las cordenadas me aparecen diferentes incluso si las ocupo en las del explorador me da otra ubicacion, no es algo tan malo ya que en mapas cargados desde la pagina las ubicaciones me dan exactas en donde selecciono, pero me parece curiosa la diferencia, saludos
Buenas,
No entiendo lo que quieres decir. ¿Puedes ponerme un ejemplo? Por que…. no será la precisión que puedes especificar en el componentes TGMMaps, ¿no?
Perdon por contestar hasta ahorita pero he estado con mucho trabajo y no he podido checarlo pero espero en estos dias te checo bien en que parte es si en la precision o en los mapas que maneja google con algun ejemplo 😀
Mientras tanto un saludo Cadetill
Llevaba tiempo buscando una librería que me permitiese trabajar en Delphi 5.. y la encontré !!
He conseguido compilar GMLib 0.1.1 en Delphi 5 (eliminando las llamadas a ShowCollectionEditor y retocando ligeros detalles) sin errores, así como las Demos.
Sólo tengo una pequeña sugerencia (por el uso que quiero darle) y es que (aun, espero) no permite elegir el icono de los Marcadores.
De todas formas, funciona genial, gran trabajo !!
Hola Fernando,
Me alegra saber que has podido compilar sin muchos problemas con una versión tan vieja de Delphi 🙂 La verdad es que no me pensaba que hubiera gente que aun programara en versiones anteriores a Delphi 6 jejejeje Por casa debo de tener alguna versión de Delphi 3, 4 y 5. Miraré de instalarlas a ver si para la próxima versión puedo hacer que se compile también en estas versiones de Delphi
Gracias por probar los componentes
Nos leemos
cadetill
Hola a todos:
Llevo tiempo manejando una página con planos de Google Maps que desarrollo en modo artesanal (o sea, con mucho trabajo) y me gustaría que la página que mostrara resultados (marks) se generara dinamicamente. estoy buscando a alguien que me pueda hacer el trabajo. O sea, la base de datos con los datos que necesito pasar al mapa, el interface de entrada de información a dicha base de datos y los códigos PHP que generen el plano a partir de los datos de búsqueda introducidos por el visitante de la página. ¿Sabeis de alguien que me lo pudiera hacer?
Hola Fernado
Si quieres pásate por delphiaccess y entre todos los foreros miramos de ayudarte 😉
Nos leemos
cadetill
Hola, intente instalarlo en Delphi XE, pero sin éxito, veo que los paquetes de los componentes existen actualmente para D6, D7, D2007, D2010, DXE2 pero no para DXE, tienes algún tip para esta instalación?
Buenas Erasmo
No tengo el XE para poder hacer el paquete ni probarlo, pero vamos, imagino que el paquete de D2010 o DXE2 debería de servirte y compilar en XE. Si no te compila, dime qué errores te da para poder ayudarte a compilarlo
Nos leemos
Hola cadetill,
De antemano gracias!, te comento que efectivamente, logre compilar y registrar los componentes en DelphiXE con el paquete D2010 realizando estos cambios en en la sentencia
{$IF CompilerVersion < 22} la cambie por {$IF CompilerVersion < 23}.
Ahora! realizando el hola mundo con estos componentes, no logro que en los eventos me de las coordenadas (LatLng: TLatLng) estas siempre me las da en cero. por ejemplo, en el evento GMMap1CenterChanged(Sender: TObject; LatLng: TLatLng), siempre que se dispara, LatLng siempre bienen en Cero; incluso en los demos en el log de eventos, me vienen en cero. Sabes si es algo que tenga que ver con el lenguaje, soy de Mexico.
Disculpas, el cambio que te mencione anteriormente lo realice en GMMap.pas y el mensaje de error fue:
[DCC Error] GMMap.pas(1621): E2009 Incompatible types: ‘Parameter lists differ’
nos leemos.
Ya encontré cual es el detalle… y efectivamente tenia que ver con el regionalismo, comente la linea linea 164 del WebControl.pas, la funcion quedo de la siguiente manera:
function TWebControl.GetFloatField(const aFormName, aField: string;
DefaultValue: Real): Real;
var
Strg: string;
Val: Extended;
begin
Result := DefaultValue;
WebFormNames;
if Forms.IndexOf(aFormName) = -1 then Exit;
WebFormFields(aFormName);
if Fields.IndexOf(aField) -1 then
begin
Strg := Trim(WebFormFieldValue(Forms.IndexOf(aFormName), aField));
//Strg := StringReplace(Strg, '.', ',', [rfReplaceAll]);
if (Strg '') and TryStrToFloat(Strg, Val) then
Result := Val;
end;
end;
Hola Erasmo
Me alegra que hayas podido instalar los componentes. Miraré de hacer el cambio que mencionas en el código para poder instalarlo en XE sin problemas 🙂
Con respecto al problema que has tenido con el LatLng, no termino de entender por qué no te funciona. Se supone que las funciones de Google necesitan un numérico con un separador de decimales de punto. La función esa lo único que hace es eso, reemplazar las comas (separador decimal usado en España) por puntos (separador decimal americano y, por ende, usado por Google).
Intentaré investigar un poco el tema. Si descubres algo más, te estaré agradecido si lo comentas
Nos leemos
Buenas,
Instalando la ultima actualización me di cuanta que las coordenadas me las sigue dando en Cero, entonces regrese a la linea 164 de WebControl.pas, analice los comentarios en donde me dices lo que hace esa linea, remplazar el punto por la coma
Strg := StringReplace(Strg, ‘,’, ‘.’, [rfReplaceAll]);
esto es valido en tu región, en donde se separa los decimales con coma, pero en México no funciona,
Coloque una validación, que solo se ejecute esa linea mientras exista un separador decimal con coma.
if DecimalSeparator = ‘,’ then Strg := StringReplace(Strg, ‘.’, ‘,’, [rfReplaceAll]);
Me dices que te parece.
Saludos.
Buenas Erasmo,
Pues me parece genial, simple y sencillo. En la próxima versión ya aparecerá el cambio (ya lo he realizado)
Gracias 😉
Excelente trabajo. Apenas he encontrado tus componentes y estoy experimentando con ellos. Al principio me encontré igualmente con el problema de los separadores decimales y de millares como Erasmo con la configuración regional de México.
Se me ha ocurrido, no hay una manera de «seleccionar» un área del mapa con el ratón y que esa área sea un cuadrado traslucido mientras se este seleccionando? O al menos que se note con un rectángulo de selección.
Gracias nuevamente
Buenas Ricardo
Muchas gracias por aunque sea probarlos 🙂
Respecto a lo que me comentas, no termino de entender lo que quieres. ¿Puedes explicarte algo mejor?
En esencia, es seleccionar un área del mapa, tipo selección de Autocad, sólo eso. Ya obtuve las coordenadas de la selección usando el método OnClick del GMMap pero me falta lo «visual» para indicar que se está seleccionando. Tal vez ya esté implementado en alguna de las funciones de Java pero desconozco la API de Google Maps. Gracias
Buenas,
Lo que no entiendo es eso de la selección. Es decir, entiendo que quieres que aparezca un rectángulo mientras estás seleccionando un área del mapa, lo que no veo es la utilidad o qué quieres conseguir seleccionando una zona del mapa. Por otro lado, desde el API de Google Maps no hay ninguna opción que lo permita, se tendría que implementar mediante JavaScript de alguna manera. También se tendría que tener en cuenta que el mapa no se pudiera «mover» con el ratón (propiedad Draggable).
Nos leemos
cadetill
Ya he pensado en esos detalles y hasta este momento debido a mis escasos conocimientos de la manipulación del TWebBrowser / GoogleMaps API / Java son casi insalvables para mí 🙁
Para efectos de pruebas solamente uso un clic para definir la primera esquina y un segundo clic para la definir la segunda, esto es para hacer zoom a la zona seleccionada de manera mas rápida y no dar clic varias veces en el control o usar la rueda del ratón repetidamente, un zoom rápido a una zona específica del mapa.
Un saludo de nuevo. He descubierto otra falla, no sé si alguien más lo ha hecho, he aquí el escenario:
De acuerdo a las instrucciones de http://code.google.com/p/vcl-styles-utils/ o http://theroadtodelphi.wordpress.com/2012/03/20/delphi-vcl-styles-and-twebbrowser-source-code-released/ para sustituir el TWebBrowser por un TVclStylesWebBrowser con una clase superpuesta y dar soporte completo de VCL Styles, ya no aparece nada de mapas en el browser asociado al GMMap.
Reportaré de igual manera el problema al desarrollador de vcl-styles-utils
Buenas,
Mantenme al corriente de lo que pueda decirte el desarrollador de la VCL Styles, porque yo nunca lo he tocado (trabajo en D2010) y sería interesante que fuera compatible.
Claro que sí, de hecho lo interesante es que usa mucho los hooks, por ahí deben estar los tiros, se ha de perder la cadena de eventos.
Buenas cadetill,
Trabajando con los markers, tengo la necesidad de relacionarlo con otro objeto, en mi caso específicamente con un registro de una consulta sql, veo que en la mayoría de componentes que manejan TColecction tienen una propiedad que se llama object, en la cual puedes asignar cualquier tipo de objeto y así también un propiedad Tag.
Estaria muy bien también contar con estas propiedades en lo TMarker.
¿Que te parece la idea?
Nos leemos.
Buenas Erasmo
TCollectionItem no posee ninguna de estas propiedades que comentas. No obstante es factible y fácil el ponerlas. Si realmente encuentras que es interesante, no hay problema en incorporarlas 😉
Nos leemos
Hola,
Buen inicio de semana cadetill…
Efectivamente me parece interesante la propuesta, esto con el objetivo de darle una mayor capacidad de implementación…. claro también me gusta mucho la idea de TDBMarkar.
Por cierto, ¿como le hago para postear código formateado delphi?, lo intente con etiquetas codigo pero no se nota visualmente.
Saludos!
Buenas cadetill,
Ahora con una consulta, para implementar iconos personalizados, en que lugar debo de colocar la lista de iconos disponibles.
Nos leemos.
Buenas Erasmo
De momento eso no lo tienen contemplado los componentes. Miraré de ponerlo en próximas versiones ya que veo que puede ser de utilidad 🙂
Buenos dias Cadetill:
Enhorabuena por tu trabajo, y gracias por compartirlo.
He estado haciendo pruebas con tu codigo y me parece magnifico. Se me ocurren algunas sugerencias como el ya comentado TDBMarker, y una utilidad que me parece tambien interesante y es obtener las coordenadas de un lugar a partir de la direccion tal y como lo hace Google Maps. Hasta ahora yo las consigo pasando la direcccion a traves de la url que usa Google Maps y extrayendo de la respuesta que devuelve googlemap los datos que me interesan. Supongo que habra mil formas mejores de hacerlo pero ….
URLDownloadToFile(nil, PChar('http://maps.google.com/maps?output=kml&q='+direccion) ...
Buenas Jesús
Antetodo gracias por probar los componentes. Con respecto a lo que comentas, efectivamente tengo pensado hacer un componente para pasar de una dirección a coordenadas. De hecho aquí en mi blog ya he hablado de ese tema y sería «sólo» pasar ese código a componente. Eso se llama geocodificación y, si te pasas por esta página (http://www.cadetill.com/?page_id=6) en el apartado de Google Maps puede ver los 4 primero artículos que hablo sobre ello.
Más o menos mi «roadmap» es terminar con las figuras y luego ponerme con los servicios que ofrece Google Maps como la geocodificación 🙂
Nos leemos
cadetill
Magnifica noticia, gracias de nuevo
Very usefull and intuitive component, i hope that this project will grow up strong!
Thanks Simone, and…. I hope so too jejeje 😉
Regards
very nice components, i have been trying them and come across an issue when use the onclick for the GMmap component always returned 0 for both the Lat and Lng.
Am i doing something wrong?
I also noticed that the demos also do this.
Hi Shaun
Before all, thanks for test the componentes.
Concerning your problem, I have test it and OnClick event return the correct Lat/Lng. Is possible that the problem is the regional configuration. Try to change your regional configuration (, for decimal separator) and say me if this is the problem.
Thanks
cadetill
i can confirm that after changing my decimal symbol from . to , i now get the Lat/Lng values in the onclick event.
Ok, I will search why this and I will try to fix in the next version 🙂
Thanks
Hi
I will keep a look out for the update
Just to let you now i am using these components in c++ Builder XE2 Update 4 and so far that is the only issue i have come across,
is there any way to change the marker icon, also are there any plans to add Geocoding/Geolocation components
Hi Shaun
Is perfect that you use this components in BC++ XE2 🙂
At the moment you can’t change the marker icon. In the next revision perhaps is posible.
My «roadmap» is about this: first, finish with rectangle and cercle and after, do components for the services like geocoding. And by the way, improve the existing components with new features
Thanks again
PS: I will try to translate this page to english in the futur 🙂
[…] Tienen muy buena pinta. Podéis revisar el diagrama completo de la estructura de clases aquí, y la descripción de todas las clases en la siguiente página. […]
Hi,
I just want to thank you for sharing these components.
You did a great work and I’m looking forward for your next version….
Best regard,
SW
Thanks Stéphane for test it 🙂
if you are French you can write in french too 😉
Regards
[…] ha visto la luz la siguiente versión de los componentes de Cadetill para trabajar con Google Maps. La librería GMLib; En este caso la versión 0.1.5a. Añaden bastantes correcciones y nuevas funcionalidades respecto […]
Buenas tardes:
Veo que los componentes siguen evolucionando. Enhorabuena por tu magnifico tranajo y por compartirlo con los novatillos en delphi. Seria interesante poder extraer de TAddressComponent o de alguna manera partes de esa direccion completa, por ejemplo, el Codigo Postal
Un saludo y gracias por compartir tu trabajp
Hola Jesus
Imagino que te referirás al componente TGMGeoCode, verdad? Una geocodificación puede dar cero o varios resultados. Cuando se produce al menos 1 resultado, éste (o éstos en el caso de que sean varios) se guardan en el array GeoResult del TGMGeoCode. Cada posición del array GeoResult contiene un objeto de la clase TGeoResult. Estos objetos TGeoResult tienen una propiedad, la AddrCompList de la clase TAddressComponentsList que, como podrás imaginar por la coletilla de «List», es una colección de TAddressComponent. Pues bien, esta lista de TAddressComponent lo que contiene es una «fracción» de la dirección geocodificada. Por ejemplo, si geocodifico «C/ reial 60, tarragona» obtendré 7 TAddressComponent y uno de ellos es el código postal. Así pues, sólo tienes que recorrer esta lista y buscar el tipo «postal_code» (en la propiedad AddrCompTypeList del TAddressComponent).
Te invito a que hagas la prueba de una geocodificación en la MegaDemo que se incluye junto a los componentes y compruebes lo que te comento.
Saludos y gracias
cadetill
Muchas gracias por tu respuesta, lo probare
Saludos
Felicitaciones amigo Cadetill,
También desde Argentina estamos probando tu componente.
Que hay en cuánto a la generación de Rutas de Viaje?
Me refiero a si es posible, tal cual lo hace la web de GMaps, poner una direccion de partida y un destino para que trace el recorrido utilizando las vías existentes y sus sentidos de dirección habilitados. para la circulación…
No hablar de si es posible crear una ruta al estilo «Viajante de comercio» ( TSP, Travelling Salesman Problem) con destinos concatenados.
Abrazo cordial,
YAKO
Hola YAKO
Antetodo gracias por probar la GMLib 🙂
Referente a la pregunta, es precisamente en lo que estoy trabajando en estos momentos, en el servicio de direccionamiento de Google Maps. Ya no queda mucho para que esté terminado, así que imagino que en breve podré sacar una nueva versión con este componente (y otras mejoras que he ido haciendo desde que cerré la versión 0.1.5).
Saludos
cadetill
Buenos dias:
Gracias de nuevo por tu esfuerzo y por compartirlo….Animo y ahora que casi lo tienes terminado :P…. a ver si le metes mano al API de Google Calendar. Seria la caña manejar el Calendar de Google desde Delphi
Saludos y gracias de nuevo
Muchas gracias Jesús
No obstante, aun queda mucho trabajo para dar por «terminados» los componentes. Luego, no te digo yo que no me meta en otros desaguisados como ese jejejejeje
Nos leemos
Hola cadetill ! Exelente trabajo, Felicitaciones
Tengo problemas con el componente GMPolyline1.
Creo un polyline con la interfaz grafica.
Hago un boton con :
GMPolyline1[0].AddLinePoint(20, -99);
GMPolyline1[0].AddLinePoint(21, -100);
Si no creo antes un LinePoint en la interfez graphica, me saca un msg de error.
Entonces agrege un LinePoint en la interfaz graphica y agrege al boton:
GMPolyline1[0].DeleteLinePoint(0);
Si hago con otro boton: GMPolyline1[0].ClearLinePoints; (ahi todo muy bien, la linea desaparece)
Pero si vuelvo a oprimir el boton de antes para crear una linea, el delphi no esta feliz y me dice «este objeto no tiene relacion en javacript»
Tambien si hago un loop para poner muchos puntos (1000 por ejemplo), se tarda mucho para aparecer.
Ahi creo tiene que ver con el autoUpdate. Debo desabilitar el auto update y autoupdatepath y poner depues del loop un GMPolyline1[0].Setpath ?
Seguro hay algo que hago mal 🙁
Muchas gracias y Saludos !
Hola cephi
Antetodo gracias por usar los componentes.
Referente a la primera pregunta, es cierto, es un bug de los componentes que tengo localizado y que será corregido en la próxima versión.
Y con lo que respecta a la segunda pregunta, pues la verdad es que no he probado a crear un polyline con tantos puntos, por lo que no podría decirte. En cuanto vuelva de vacaciones miro de hacer alguna prueba a ver 😉
Nos leemos
hi cadetill,
thanks for the component it sure help me a lot after you help me back then i need to ask one more dumb question. how could i create a polygon at runtime i have two seperate tstrings which contains long and lat respectively. i cannot see how you do it in your demo. thanks again
Hi Charlie
You can add a TPolyline with Add method of TGMPolyline, and you can add TLinePoint with AddLinePoint method of TPolyline, BUT at the moment TPolyline have a bug, and you have an error if you don’t define at design time minimum one TPoliLine. To the next version this bug will be fixed
Regards
hi cadetill,
can you set me a small sample? i was again getting confused? thanks!!! and will wait for your update i just want to try it out. i can actually did use every component you made and was great so far except this one hehehe!! please provide me a sample? just a simple procedure for it. thanks again
Yes, no problem, this is an example (but remember, this not work correctly until the next version)
Hi Cadetill,
Thanks For The Sample, So That’s How It Was, I Just Thought The Linepoint has to be assigned too. thanks for the help. will wait for your next awesome version… getting too excited already.. thanks again
Hola, estoy probando tus libreririas y me ha surgido una pregunta referente a si hay alguna forma de limitar la region del mapa que yo quiero ver solamente. Ej. enviarle la coordenadas x1,y1,x2,y2.
Nada en espera de tu respuestas.
Gracias por estos componentes.
Buenas Luis
Ante todo gracias por probar los componentes.
Respecto a la duda, si quieres que tu mapa mantenga unos límites (bounds) tienes que retocar 3 cosas del mapa
Si los límites son conocidos, puedes usar el método LatLngBoundsSetBounds de TGMMap para establecerlos.
Espero sea lo que quieres
Nos leemos
Gracias por tu repuesta, lo probare en el día de hoy, y te hago saber.
Aparte de todo, déjame felicitarte por estas librerías, son un gran aporte.
Los frutos vendrán muy pronto.
Gracias.
Hola, estoy intentando obtener la ubicación de unas coordenadas (lat, lng) y cuando invoco el metodo de GMGeoCode1.Geocode(lat, lng), este me trae el tres resultado y por ende me pinta tres marker en el mapa, no se supone que debe traer solamente un solo resultado.
La idea es enviarle las coordenada y este me devuerva los datos de esa coordenada.
Nada en espera de tu respuesta.
Gracias.
Buenas Luis
Cuando geocodificas una lat/lng, Google puede devolver más de un resultado. Por ejemplo, si coges las coordenadas de una calle de una ciudad te devolverá (ej: 41,38086598 – 2,12257899):
Si lo que quieres es saber la dirección, tendrás que ir a buscar el resultado que sea de type = street_address
Espero haberte ayudado
Nos leemos
Si estoy de acuerdo, pero cuando estoy realizando la búsqueda, se supone que toda esa información debe ser referente a las coordenadas mencionada, pero por lo que he visto, en el componente es que esta pinta o dibuja tres marker con información diferente.
Hola Luis
Podrías enviarme un ejemplo de lo que dices para que pueda verlo y así poder depurarlo a ver si es «normal» o no? Gracias
Otra coas, me gustaría saber si puedo realizar algunos cambios a los componentes, esto los haría si tu me lo permites, pero todo el código te lo enviaría para que lo valides y lo pongas como siempre lo haces publico.
en espera de tu respuesta ?
Claro Luis, los fuentes los pongo precisamente para eso, para que el que quiera hacer cambios pueda. Eso sí, como bien dices, agradezco que se me manden las modificaciones para poderlas contemplar en próximas versiones 🙂
ok, te enviare los fuentes indicando los cambios por correo.
Un saludo, no se si a alguien mas le ha tocado el error que me da el browser, recien acabo de instalar la 0.1.5 y la 0.1.6 claro no ambas a la vez, pero las dos me tiran el error:
Error en el script de Internet Explorer
Error en el script de esta página
Linea: 1062
Carácter: 16
Error: ‘google’ is undefined
Código: 0
URL: about:blank
¿Desea continuar ejecutando scripts en esta página?
Y ya no despliega mapa alguno
A alguien le ha ocurrido? Alguna solución?
Por cierto, despues de cerrar el diálogo de error del IE, salta el diálogo de excepcion de Delphi:
—————————
Debugger Exception Notification
—————————
Project VESuite.exe raised exception class EOleException with message ‘No se pudo completar la operación debido un error 80020101’.
—————————
Break Continue Help
—————————
Hize el downgrade a la v 0.1.1, que era la que estaba utilizando anteriormente y para mi sorpresa, me lanzó el mismo error pero…
Oh sorpresa, reinicié la laptop, corri el ejecutable sin el IDE, todo bien, lo corrí desde dentro de IDE, todo bien, instalé la 0.1.6 y todo bien…
No comprendo dónde estuvo el error, así como apareció de la nada, desapareció.
Buenas Ricardo
Pues nada, aunque algo tarde, me alegro de que lo hayas solucionado. Quizás el problema más que de los componentes fuera del IE (recuerda que el TWebBrowser no es más que una encapsulación del IE) y al reiniciar el ordenador (¿quizás por alguna actualización?) se solucionara el problema.
Saludos
Saludos
Al parecer el problema fué una conexion a internet lenta e intermitente, el wrapper no cargaba todo el contenido web.
Hola Ricardo
Ante todo gracias por probar los componentes. Miraré a ver si se puede desactivar estas funciones. Lo malo es que el TWebBrowser no lo gestionan las GMLib. A ver si desde JavaScript se puede hacer alguna cosa 🙁
Nuevamente gracias
Saludos
Hola amigo
Ya he instalado tu componente en XE2 y quiero destacar que es muy fácil de instalar, las instrucciones breves, concisas y precisas, es decir, cero problemas, excelente.
Abrí de inmediato la MegaDemo. Que decir, está genial. intentaré hacer algunas modificaciones (observaciones desde el punto de vista de un usuario vago) y te las hago llegar, no doy fechas porque yo si que soy un vago. pero prometo hacerte llegar algo pronto 🙂
Gracias y felicidades por el componente.
Saludos
Saludos
Hola Eliseo
Un placer verte por aquí. Gracias por probar los componentes y, ya sabes, cualquier comentario será bienvenido 🙂
Nos leemos
English man English for us plzzz
First of all, thanks you for test the components.
You need to know that this is a spanish blog and all content are in spanish. However, if a person have a question about the components, he can ask me in english, french, spanish or portugues and I will respond in this language (or in english).
If you have some doubt, feel free to ask about it in english (or another language that I say before) 😉
Thanks again
cadetill
Excelente trabajo !!!! Muchísimas gracias por el trabajo !!!
Gracias a ti por probarlos 🙂
Nos leemos
hi cadetill,
i know, i know it’s me again….. hehehe thanks for the patience.
see i have downloaded the newest version of the components. im glad things are much easier now. but i have another question. heres the thing. in TGMInfoWindow Component. i tried to load popups on runtime with a database access of coordinates. the procedure i did can load coordinates in small records but the thing is when the records increases so it the time it takes to load components. please check my procedure and tell me how to do things easier. here’s the procedure
Please reply to me again….. thanks!!!!
EDIT:
see i have downloaded the newest version of the components. i am glad things are now much easier. but i have another question. heres the thing. in TGMInfoWindow Component. i tried to load popups on runtime with a TStrings access of coordinates. the procedure i did can load coordinates in small records, but When the records gets bigger, it Increases the time it takes to load the Popups. Please check my procedure and tell me how to do things easier.
Hola. Muchas gracias por la información. Me gustaría saber si es que acaso en la Clase TGMMap, en la capa Transit, se pueden agregar rutas de transporte público de una ciudad determinada, en caso de no encontrarse en la lista de ciudades compatibles. Mi idea es poder llegar a crear una aplicación que use Google maps, y muestre un posible recorrido de transporte público para una ciudad que no está en la lista a partir del punto de origen y el punto de destino.
De antemano, gracias.
Hola Felipe
Pues lamentablemente este tema no depende de los usuarios que usamos el API de Google Maps, sino más bien directamente de Google, ya que son ellos los que incluyen estas rutas, no los usuarios.
Error en TWebBrowser
Un saludo, sin querer encontré un error, no tiene que ver directamente con los componentes GM pero es un riesgo latente, he hecho el reporte en el sitio de Google Project pero creo que no está de más informarlo al resto de la comunidad:
F5 Update error inside the WebBrowser Window
Reported by ME :), Sep 25, 2012
What steps will reproduce the problem?
1. Start a new blank project.
2. Add a TWebBrowser component onto a blank form.
3. Add a TGMMap, link it to the WebBrowser and setup the minium code for map display.
4. Run the project.
5. Inside the WebBrowser press F5.
What is the expected output? What do you see instead?
An exception raises: Project Project.exe raised exception class EOleException with message ‘Argumento no válido’.
What version of the product are you using? On what operating system?
– GMLib 0.1.7
– Embarcadero Delphi XE2 Version 16.0.4429.46931 Update 4
– Windows XP Pro Spanish (Build 2600: SP3)
– Under VirtualBox 4.1.22r80657
Please provide any additional information below.
The error raises on Line 304 of WebControl.pas
Result := Forms.Item(FormNumber, ») as IHTMLFormElement
The var FormNumber contains the value -1, that can be the source of the error.
How to disable scrollbars in GMMAP WEbBrowser?
The code below does not work.
procedure TfrmMain.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
Application.ProcessMessages;
WebBrowser1.OleObject.Document.Body.Style.OverflowY := ‘hidden’;
end;
Hi nasaman
In the new version of GMLib I will do this feature 🙂
Until this release, you can do this:
1.- open resources/map.html with a text editor (like notepad, notepad++,…)
2.- add this code
3.- compile resources with resources/rc.cmd
4.- recompile the GMLib
That is all
Regards
hola cadetill,
agradecerte que hayas publicado los componentes, son muy útiles y fáciles de usar, enhorabuena por la «currada» y ánimo para continuar mejorándolos
entrando en materia, estoy probando la versión v.0.1.8, en Delphi XE3 y me surge lo siguiente:
se instalan perfectamente siguiendo las instrucciones, sin embargo al intentar probarlos me ocurre lo siguiente con la MegaDemo: al abrir el proyecto salta «A component named Label10 already exists». Después de ignorar el error te abre el proyecto pero al intentar compilarlo falta «GMBase.dcu».
He comprobado que en la carpeta src de los componentes (en esta v.0.1.8) no aparece GMBase.pas, he descargado la v.0.1.7 y en esta sí que aparece así que he copiado el GMBase de la otra versión en la nueva y ahora ya compila pero aparecen errores.
Lo mismo en las otras demos, aparecen errores de parámetros , etc
Quisiera saber pues, si es algún detalle de la nueva versión o que símplemente las demos no están adaptadas a todos los cambios introducidos.
En cualquier caso sería interesante poder probar las demos con los nuevos componentes.
saludos y ánimos para seguir con este gran proyecto
Hola halconmilenario
Ante todo gracias por probar la GMLib.
Efectivamente, la MagaDemo veo que da ese error. Para solucionarlo simplemente ignorar el error (se perderá un label de una pantalla, pero bueno, no pasa nada -lo corregiré para la próxima versión-).
Con lo referente a GMBase.dcu, esta es una unidad que ha desaparecido en esta nueva versión. No debería de darte este problema (de hecho acabo de probarlo y no me lo ha dado). No obstante, mira que en los uses no haya ninguna referencia a esta unidad y, en caso de haberla, quítala. Si siguieras con problemas, podría enviarte por correo los binarios de la MegaDemo.
Ya me contarás
Saludos
Buenas tardes
estoy tratando de instalar la libreria en delphi 7 y me marca un error que donde dice
requires
indy,
segun yo ya instale los paquetes indy pero aun asi no me funciona
me podrian auydar??
Hola Omar
Si te está pidiendo las Indy, tiene que ser un error al generar el paquete de D7 porque no las usa para nada. Mira en el require del paquete y borra toda referencia a las Indy. Con eso debería de instalarse sin problemas.
Espero te sirva
Nos leemos
ok hare lo que me indicas muchas gracias
En efecto muchas gracias por indicarme esto
pense que en algun lugar usaban indy
ahora a probar estos componentes
gracias de nuevo
Encantado de poderte ayudar.
Saludos
Hola nuevamente
Se que es una pregunta tonta pero ando un poco perdido
me marca un error en las funciones AnsireplaceStr
estoy trabajando con delphi 7
algo me falta?
ya no me marca ahi agregue la unidad strutils
ahora me marca error en este
UTF8ToString
que tengo que agregar ?
Gracias
Pues en lugar de usar
// UTF8ToString
Memo1.Lines.Text := ANSISTRING(Stream.DataString);
// modifique el utf por el ansi y corrio el ejemplo
es el primer ejemplo que estoy probando donde
me regresa
{
«results» : [
{
«address_components» : [
{
«long_name» : «Chihuahua»,
«short_name» : «Chihuahua»,
«types» : [ «locality», «political» ]
},
{
«long_name» : «Chihuahua»,
«short_name» : «CHIH»,
«types» : [ «administrative_area_level_1», «political» ]
},
{
«long_name» : «Mexico»,
«short_name» : «MX»,
«types» : [ «country», «political» ]
}
],
«formatted_address» : «Chihuahua, Mexico»,
«geometry» : {
«bounds» : {
«northeast» : {
«lat» : 28.77290820,
«lng» : -105.96128960
},
«southwest» : {
«lat» : 28.55867740,
«lng» : -106.16710590
}
},
«location» : {
«lat» : 28.6305810,
«lng» : -106.07370
},
«location_type» : «APPROXIMATE»,
«viewport» : {
«northeast» : {
«lat» : 28.77290820,
«lng» : -105.96128960
},
«southwest» : {
«lat» : 28.55867740,
«lng» : -106.16710590
}
}
},
«types» : [ «locality», «political» ]
}
],
«status» : «OK»
}
esta bien con el ansi??
Hola Omar
Para poder ayudarte necesito que seas más específico con el problema indicando qué demo intentas ejecutar, en qué unit/procedure/método te da el error,…..
Con tan poca información no se por donde mirar.
Nos leemos
Hola Cadetill,
Me gustaría que me tome una pregunta: El uso de GMlib, ¿cómo puedo saber si un marcador se encuentra dentro de un polígono?
¡gracias
Hola Pedro
Si te refieres dentro del área del polígono, con el único que podrás saberlo es con el rectángulo, ya que éste se forma con un LatLngBounds y esta clase tiene un método (no obstante este método se debería de implementar porque actualmente no lo está).
Si a lo que te refieres es saber si un punto está dentro del array de TLinePoints, pues deberías de recorrer dicho array y cada posición usar el método GetLatLng que te devolverá un TLatLng y así poder usar el método IsEqual de esta clase.
Espero te sirva
Saludos
Maximum level of MaxZoom 15?
MaxZoom level rise is there?
Hi nasaman
In some tests I did at first, it was the result I got. I tried it now and gave me 21. I’ll change it for the next version.
Thanks
Regards
Hi cadetill,
I’ve noticed you’ve limited max zoom level to 15 which is too small. It will be good if you could increase this number to, say, 21.
The link below said they could use 23 in some places:
https://groups.google.com/forum/?fromgroups=#!topic/google-maps-api/LTmGBAumPLk
Another thing I’ve noticed is that it takes ages to load markers, can you find a way to improve this?
Regards.
Hi Robbert
Yes, I have modified the max zoom level to 21 into the new release 🙂
Regards
Hi Cadetill,
Thanks a lot for sharing this component.
I’ve tried to compile gmlib_0.1.8 using C++ builder 2010 but failed.
Detail:
1 ) GMLib_C2010.cbproj is the project I use.
2) GMBase.pas and GMSize.pas not there. So I copied them from gmlib_0.1.7.
3) After copied these two files, I could compile but got a link error:
Checking project dependencies…
Building GMLib_C2010.cbproj (Release configuration)
[ILINK32 Error] Fatal: Unable to open file ‘DB.OBJ’
I have no clue why this happened.
Thanks again for your help.
Regards.
Hi Robbert
I don’t have C++Builder 2010 to test it but…. GMBase and GMSize are two units obsoletes. If exist some references to they, delete it, there are not required. DB unit is required into the GMElevations unit. This unit is a Delphi/C++ unit, what version of C++ have you, standard?
Regards
Thanks cadetill.
I could install the VCLs now:
C++ 2010 Installation steps in case someone needs it:
~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Open project «GMLib_C2010.cbproj»
2. Remove GMBase and GMSize from the project( defined in GMLib_C2010.cbproj ).
3. Add db.pas into project. You can find it from ..\Program Files\Embarcadero\RAD Studio\7.0\source\Win32\db»
4. Right click on «GMLib_C2010.cbproj.bpl» and click «Install»
5. Go to «Tools > Options > Environment Options > C++ Options > Path and Directories»»
Click «Include Path > […]» button
Browse to the «\lib\C2010» folder and press «OK», «Add»
Click «Library Path > […]» button
Browse to the «\lib\C2010» folder and press «OK», «Add»
Some small issues:
1) version not updated in Design Packages
GoogleMaps Library v0.1.6(xxx) -> should be v0.1.8 isn’t it?
2) I’ve created a test application, and just added GMMAP VCL. if «Build with runtime pacakges» is unchecked, build will fail with these two errors:
[ILINK32 Error] Error: Unable to open file ‘UABOUTFRM.DFM’
fix: Copy the file from ./src to project’s root directory or add ./src to «Library Path»
[ILINK32 Error] Error: Unable to open file ‘GMMAPRES.RES’
fix: Add the file from ./resource to project
If you check «Build with runtime pacakges», the application will be built without any error.
Cheers.
Hi Robbert
Thanks for this tip. Just a detail, you need to add src path into Library Path or copy dfm files to your lib directory for to avoid this problems 🙂
Regards
Estoy probando la versión 0.1.8 para XE3 pero no has incluido el fichero
GMBase.pas
lo he pillado de la versión 0.1.7 y con esto me compila y me instala los componentes,
pero no me funcionan las demos, por ejemplo la demo de GMPolyline me da 8 errores de compilación
[dcc32 Hint] UGMPolylineFrm.pas(342): H2443 Inline function ‘Point’ has not been expanded because unit ‘System.Types’ is not specified in USES list
[dcc32 Error] UGMPolylineFrm.pas(576): E2009 Incompatible types: ‘Parameter lists differ’
[dcc32 Error] UGMPolylineFrm.pas(583): E2009 Incompatible types: ‘Parameter lists differ’
[dcc32 Error] UGMPolylineFrm.pas(590): E2009 Incompatible types: ‘Parameter lists differ’
[dcc32 Error] UGMPolylineFrm.pas(633): E2009 Incompatible types: ‘Parameter lists differ’
[dcc32 Error] UGMPolylineFrm.pas(640): E2009 Incompatible types: ‘Parameter lists differ’
[dcc32 Error] UGMPolylineFrm.pas(647): E2009 Incompatible types: ‘Parameter lists differ’
[dcc32 Error] UGMPolylineFrm.pas(654): E2009 Incompatible types: ‘Parameter lists differ’
[dcc32 Fatal Error] GMPolyline_Demo.dpr(5): F2063 Could not compile used unit ‘UGMPolylineFrm.pas’
gracias
Hola Cocute
GMBase ya no se incluye en el proyecto de la GMlib. Si se hace referencia a él bórrala que es un error.
Por otro lado decirte que la única demo funcional es la MegaDemo, las demás demos no he tenido tiempo a actualizarlas.
Saludos
Cadetill, gracias por compartir estos excelentes componentes…Los estoy incorporando a una aplicación que estoy construyendo.
Tengo una consulta.
Se que existe la posibilidad de al hacer click sobre la marca o pasar el ratón sobre ella desplegar información.
Lo que requiero es poder desplegar el icono y el Title juntos. Me puedes hechar un cable.
Muy agradecido.
Hola cloayza
Un title es como la propiedad Hint de los componentes, sólo aparece cuando pasas el ratón por encima del componente (en este caso un marcador). Si lo que quieres es tener un marcador con su texto visible, tendrás que usar un marcador estilo mtStyledMarker y establecer la propiedad StyledMarker.StyledIcon como siBubble
Espero te sirva
Saludos
«Hola Cocute
GMBase ya no se incluye en el proyecto de la GMlib. Si se hace referencia a él bórrala que es un error.
Por otro lado decirte que la única demo funcional es la MegaDemo, las demás demos no he tenido tiempo a actualizarlas.»
«Hello Cocute
GMBase no longer included in the project GMlib. If you refer to it is a mistake to delete it.
On the other hand say that the only functional demo is megademo, other demos I have not had time to update them.»
Hello,
it’s a pity! All your efforts in develop such a framework is for nothing if you are not able
to manage it, that your demos works well. The GMBase issue cost me a lot of time, because
a other similar framework uses the same Unit-Name. (http://www.delphipraxis.net/157004-google-maps-ueber-com-component-object-model.html). I can confirm the megademo works. All other examples has failed. I use D2010. I hope you have the time to fix the demos and I will test your promising framework again. I appreciate your work!
Kind Regards, Mark
Hi Mark
I know this framework (I don’t have test it) but I can’t do nothing if it use the same (or similar) names 😉
For the next version, I will try to make up to date all demos. I don’t know when it will finish because is costing me more than expected to make it compatible with FMX.
Regards
Hi,
Not sure if you’re aware of this, but the latest version is missing two critical source files.
There’s no «GMBase.pas» included anywhere in the zip file.
And «GMSize.pas» is also missing.
Hi Youtoo
It isn’t a mistake, GMBase.pas and GMSize.pas are a deprecated units. If you find some references to them, you can delete it. About the demos, only the MegaDemo is up to date.
Regards
hii
i want to detect point is inside polygon or no ?
google map had this function in java
google.maps.geometry.poly.containsLocation(point, poly)
how can use this in your componnet?
and other quastion :
please give me simple code of how can i add polygons to my map ?i cant learn with your demo codes
thank u
Hi nima
I don’t knew of this feature. I will implement it in future versions.
Demo:
var
Poly: TPolygon;
begin
// firts of all you need to create a TPolygon
Poly := TPolygon(FGMPoly.Add);
// and now, add the points
Poly.AddLinePoint(31.555, 2.222);
Poly.AddLinePoint(31.444, 2.333);
Poly.AddLinePoint(31.333, 2.111);
.....
Regards
thank u very much for your fast answer im just had other quastion
after i create polygone, when user changed the patch with moving polygone point on the map
i want to know index of the point is changed by user because i need to save polygone points lat and lng on the text file and if user changed the polygone points in application i must edit saved points lat and lng
I keep getting ‘inital page not loaded’ error and have to wait sometimes up to 3 minutes before I can call DoMap. How do I get this to load quickly?
Hi Kevin
On OnCreate event or in design time (for example) put GMMap1.Active to true. Now you need to put this code on the AfterPageLoaded event:
procedure TForm1.GMMapChr1AfterPageLoaded(Sender: TObject; First: Boolean);
begin
if First then GMMapChr1.DoMap;
end;
Thank you, that worked. You are doing an amazing job on these components.
Now for another question; I am trying to draw a polygon from stored geocoded addresses, and it’s drawing it on my map, but it’s not drawing it the way I would like. If I sort my coordinates by lat, I get a side to side zig-zag, and if sorted by lon, I get an up down zig-zag. Is there anyway to get the polygon to draw around the area I want?
Hi Kevin
The order that you adds the polygon points in the creation is very important. If you ordain the points by lat, you will get a different polygon if you ordered by lng. To obtain the desired polygon don’t orders the points.
Regards
Buenas estoy usando la libreria y al momento de instalarlo no me aparece como las instrucciones lo menciona aunque logre instalarlo pero me pide un dcu que es el de GMBase.dcu no logro encontrarlo
Por otra parte funciona pero ahy un detalle al momento de jalar con el mause el mapa como regularmente lo hace en el google maps, sale un error de referencia Access Violation at address 004034aa in module
Hola Edgar
Gracias por probar la GMLib.
Referente al tema de la dcu que te pide. Como he comentado en algún mensaje anterior, las 2 dcu que puede «pedirte» ya no pertenecen al proyecto. Si en algún lugar te las pide, borra las referencias a ellas ya que es un error. Si lo que estás es mirando las demos, decirte que sólo la MegaDemo está puesta al día con las actualizaciones.
Referente al error que te da…. necesito más datos para poder ayudarte.
Saludos
gracias por responder ya logre corre el demo de gmmaps y de gmmarker pero gmpolyline ni gmpolygon no se mira nada sabes por que
Hola Cadetill.
Estoy empezando a ver tus componentes de Gmlib. En un principio creo que cumplen mis expectativas y mucho mas para un trabajo que voy a hacer. GRACIAS. Lo único que no me cuadra bien es el componente twebbrowser (delphi xe2) que con html5 me da ¿problemas? y el que tu usas o recomiendas CDEF3 da menos problemas pero también me hace cosas ¿raras ?. Conoces algún otro que vaya muy bien con html5, json, …. etc. ¿? De nuevo GRACIAS.
Saludos.
Buenas Vicente
Ante todo gracias por probar GMLib.
Respecto a tu pregunta, la verdad es que no he probado más que los que mencionas, así que no sabría decirte de los demás que puedan haber en «el mercado».
Nos leemos
hello
i really need to use this function in componnet plase help me 🙁
google.maps.geometry.poly.containsLocation(point,polygon)
this fuction detect point is inside the polygone or no
Hi nima
If you need this feature, you can implement it (you have all code). If not, you need to wait the new release that it will released soon.
Regards
Hola Cadetill.
Felicitaciones por el trabajo con la GMLib. Es en verdad exelente.
Queria aprovechar para consultarte por el metodo SetCenter del mapa. Me esta dando «Script error» con el siguiente mensaje «Unable to get value of the property ‘FromLatLngToPoint'». Object is null or undefined.
Si me puedes ayudar te lo agradeceria mucho.
Saludos.
Hola Pablo
Acabo de liberar una nueva versión de los componentes. Prueba y me comentas.
Saludos
Hoa Cadetill.
Muchas gracias por la pronta respuesta.
Encontre el problema. Era que no inicializaba la propiedad «center» de «requiredProps» antes de hacer el «doMap» por lo que la propiedad «FromLatLngToPoint» quedaba nula.
De todas formas ya aproveché y actualicé a la nueva versión que está muy buena.
Felicitaciones.
Saludos.
Pablo Rivero
Gracias por tu gran trabajo y dispculpa que te moleste con mis dudas, serias tan amable de mostrarme un ejemplo de TGMInfoWindow lo estoy trabajando en C++Builder XE3 pero tengo problemas, muchas gracias Saludos.
Buenas Salomon
Ante todo gracias por usar los componentes. Te muestro cómo hacerlo en un ejemplo en Delphi que imagino no te costará llevarlo a C++
Nos leemos
Gracias por tu respuesta, así es como lo uso pero no me funciona, cuando se ejecuta:
GMInfoWindow1->Add(17.50,-99.5,»SALOMON»);
No pasa nada no se muestra la ventana; trate de usar esto:
GMInfoWindow1->Add(17.50,-99.5,»SALOMON»);
GMInfoWindow1->Items[0]->OpenClose();
Y ahora si me lo muesta pero en la posicion que le estoy dando, aunque al inspeccionar las variables de GMInfoWindow1->Items[0]->Position si son las correctas pero en el mapa
no.
No se que pasa por que los demas componentes me funcionan muy bien.
Saludos
Y ahora si me lo muesta pero NO en la posicion que le estoy dando, aunque al inspeccionar las variables de GMInfoWindow1->Items[0]->Position si son las correctas pero en el mapa NO.
Buenas,
He encontrado algún bug con los InfoWindows. Ya los tengo corregidos. Si quieres la versión la puedes descargar mediante SVN desde GoogleCode, sino deberás esperar a que libera la próxima versión.
Saludos
Gracias esperare a que liberes la proxima version Saludos
I am really thanks for your work. Now I can make my program shows google map :).
But I have problem, when I drag webbrowser and then release drag, it show Access Violation. I am not using ondrag or afterdrag event, I just slide to see another part of the map.
Here the screenshoot: http://i97.photobucket.com/albums/l223/afin_x/gmaperror_zps6c191d60.jpg
Hi Arifin
Thanks to test GMLib.
What version are using of the library? I have test it with 0.1.9 and work fine.
Regards
Aahh, I test it with 0.1.8. Version 0.1.9 works fine. Thanks Xavier 😀
Thanks you for yours word, Arifin, and thanks for use GMLib 🙂
Fantástico trabajo. Creo que nos ha simplificado mucho el trabajo para hacer “cositas” con GMaps.
Utilizo tu librería para posicionar ciertos elementos estáticos (utilizo TCircle) y otros dinámicos (TMarker) sobre el mapa con iconos propios bastantes pequeños. Los dinámicos actualizan su posición en “cuasi-tiempo real” estando la información disponible cada 5 segundos aproximadamente .
Al iniciar el aplicativo, como tiene que insertar tantos objetos en el mapa, a veces sale el mensaje de que si se desea detener la ejecución del script porque se éste va muy lento.
¿Hay alguna forma de saber si la página web no está ejecutando ningún script? He probado con las propiedades del TWebBrowser y no he conseguido nada. Básicamente lo que quiero conseguir es esperar hasta que la web termine de ejecutar los scripts, para luego seguir haciendo cosas en el mapa.
Por otra parte, la fuente de información (cambios de posición) está disponible desde distintos lugares. Mi intención inicial era crear un hilo independiente por cada fuente y modificar la posición de los TMarker dinámicos relacionados con cada fuente, accediendo al mapa concurrentemente. Evidentemente con mecanismos de concurrencia de procesos. El problema es parecido al anterior, al ir cada hilo por libre, la página web no da abasto a modificar los elementos y no hace nada. Al final, decidí los accesos a las distintas fuentes de forma secuencial, y darle tiempo a la página a refrescar. Sabiendo cuando ha finalizado la modificación de un hilo se podría comenzar el siguiente. ¿Se puede hacer algo?
Lo dicho. Enhorabuena por el trabajo.
Saludos.
Álvaro
Hola Álvaro
Ante todo, gracias por probar/usar los componentes.
Referente al tema de cargas masivas, decirte que si son marcadores, hay una opción de carga masiva (actualmente preparado sólo para CSV, pero se podría mirar de hacer para preparar otro tipo de carga) que carga unos 100 marcadores/seg, con lo que en pocos segundos puedes llegar a cagar cientos de marcadores. Con eso ya evitarías el problema del script.
El tema de la aplicación multihilo, la verdad es que no he probado los componentes en esa situación. Si te apetece, mediante skype podemos echar una charla y te explico cómo funcionan internamente a ver qué se puede hacer.
Gracias de nuevo
Saludos
Gracias por la respuesta.
El problema de la carga es que los datos se leen desde una BBDD y habría que crear un fichero csv por cada fuente de información (son objetos distintos de la misma clase) y dependiendo de los permisos de escritura se podría hacer o no. He estado revisando el método LoadFromCSV de la clase y en mi código no hago cosas distintas a las que se hace en el método. Los marcadores que utilizo son los elementos dinámicos, por lo que la carga no es siempre de los mismos elementos.
Puede ser que la máquina donde estoy probando vaya justita, y además el acceso a internet deja mucho que desear. A veces sale y a veces no el mensaje. El problema se presenta al añadir los TCircle a un objeto TGMCircle creado en tiempo de ejecución. Cada objeto de fuente de datos (todos de la misma clase) tiene un objeto TGMCircle a los que se añaden los TCircle. He probado primero añadir los TCircle y después asignar el mapa al TGMCircle o añadir los TCircle ya asignado el mapa al TGMCircle. En tiempo de ejecución da más o menos lo mismo.
Por ahora no tengo disponible Skipe. Ya te contaré mis progresos. La verdad, una vez arrancado y realizando las actualizaciones de posición de forma secuencial por cada fuente de datos (hay 14) va perfectamente. Con hilos de ejecución he conseguido que se actualice, pero no se gana nada de tiempo y no me gusta el efecto. Parece ser que utilizando el método Synchronize del hilo, te actualiza los marker del mapa todos a la vez.
Muchas gracias otra vez y si hago avances te cuento.
Álvaro
Hola de nuevo Álvaro
Con respecto a la carga de datos, lo más importante es que desactives la propiedad AutoUodate y que, una vez cargados todos, ejecutes el método ShowElements. Este método en el TGMMarker es público, pero en TGMCircle es protected (voy a hacerla public en todos los componentes para la próxima versión). Si no desactivas el AutoUpdate, lo que hace el componentes es crear y mostrar el objeto en el mapa, desactivando, primero crea todos los objetos y luego los muestra todos de golpe.
También puedo preparar una función de carga desde un DataSet para próximas versiones 😉
Nos leemos
Sería bueno poder cargar desde un DataSet los TMarker. Acuérdate de incluir un campo (opcional) del DataSet para el icono del TMarker que en la carga desde CSV no lo tiene.
Probaré lo del AutoUpdate-
Muchas gracias por tu tiempo.
Álvaro.
Ok, lo tendré en cuenta y lo añadiré al de CSV también 😉
Saludos
Otra cosa cadetill.
He notado que según se va ejecutando el programa aumenta el consumo de memoria considerablemente.
Una vez cargado los datos, creados los objetos en tiempo real del programa y los TCircle y TMarker en el TGMMAP/TWebBorwser, ya no se crean más objetos.
La ejecución del programa consiste básicamente en cambiar la posición de los TMarker.
¿Puede esto aumentar la menoria del proceso?
Si no es así seguiré investigando a ver donde me consume tanta memoria.
Gracias de antemano.
Álvaro
Pues internamente los componentes no hacen nada. Quizás es cosa del TWebBrowser, en el que no sé qué efecto tendrá el echo de ir ejecutando funciones JavaScript
Nos leemos
Hello Dear Admin
is google.maps.geometry.poly.containsLocation (point, poly) option addet to componnet in release V 0.1.9 ?im waiting for long time for new release
Hi nima
Yes it is, unit GMFunctionsVCL class TGeometry
Regards,
thank u very much u really amke me happy i will thank u if u give me simple code to use this calss
Hi nima
I did a simple demo. You have the source code (and latest version of GMLib) via SVN at GoogleCode or you need to wait until the next release.
Regards
Hi, please, is possible to use GMLib in Delphi XE ?
I try to compile D2010 or XE2 version, but both with errors 🙁
Thanke for answer,
Petr
Hi Petr
If you like, you can download via SVN the latest version of GMLib. This version have a XE version. If not, you need to wait until the next release. To access to SVN repository, go to GoogleCode.
Regards
Hi, thanks, I tryed latest version 0.1.9, but there is only version for XE2 and XE3, of course not XE. I need in my project other components witch I have in XE only, so I cannot upgrade to XE2 or 3 :-(.
Hope for new release with XE soon 🙂
Regards,
Petr.
Hola cadetil.
Trabajo con Sergio (bitfarm), creo que lo conoces. Estamos empezando a utilizar las GMLib (v.0.1.9) y me he encontrado con el siguiente problema. Quiero crear/actualizar una lista de TMarkers asociados a un objeto TGMMarker. Tengo puesta la propiedad «autoupdate=false». Cuando inserto o modifico los TMarkers y llamo al método ShowElements no se dibuja nada en el mapa. He estado ojeando el código y he visto que el método TCustomGMMarker.ShowElements llama al método ChangeProperties de cada uno de sus items. Lo extraño es que el método ChangeProperties comienza con una cláusula if con un montón de condiciones que si no se cumplen lanzan un exit. Entre esas condiciones está ésta
not TCustomGMMarker(TCustomMarkers(Collection).FGMLinkedComponent).AutoUpdate
con lo que nunca se llega a dibujar nada.
He probado a quitar el not inicial y entonces todo funciona correctamente.
¿Hay algo que se me escape? ¿Es posible que no esté utilizando bien el componente?
Un saludo,
Adrián Vives.
Buenas Adrian
La verdad es que la propiedad AutoUpdate inicialmente estaba pensada para funcionar de forma diferente a lo que lo hace en la actualidad y esa condición ha quedado heredada de código viejo.
Realmente esta linea no debería estar:
not TCustomGMMarker(TCustomMarkers(Collection).FGMLinkedComponent).AutoUpdate or
Miraré sus efectos y haré las correcciones necesarias para la próxima versión.
Gracias
Nos leemos
Muchas gracias por la rápida respuesta.
Esperamos los cambios ansiosos, jeje.
Un saludo,
Adrián.
dear admin
is it possible to use your component in firemonky apps?
Hi nima
GMLib is compatible with FMX platform, but Delphi don’t have any browser compatible with FMX. Is for this reason that you can’t use GMLib in FMX apps.
Regards.
Hola de nuevo Cadetil.
Te aviso de unas propiedades que actualmente están inaccesibles desde código y sería interesante tener disponibles.
Se trata de las propiedades:
Tpoliline.icon.icon.FillColor
Tpoliline.icon.icon.StrokeColor
El resto se pueden modificar por código (fillOpacity, strokeOpacity,…) pero estas no. Así que si intentas dibujar por código (creando las polilineas por código, claro) puedes obtener líneas punteadas (dashed) pero siempre en rojo (color por defecto al parecer).
Veo que puede ser algo complicado porque el objeto Tpoliline.icon.icon es un TCustomSymbol que tiene como published las siguientes propiedades:
property FillOpacity: Real read FFillOpacity write SetFillOpacity; // 0 to 1
property Path: TSymbolPath read FPath write SetPath;
property StrokeOpacity: Real read FStrokeOpacity write SetStrokeOpacity; // 0 to 1
property StrokeWeight: Integer read FStrokeWeight write SetStrokeWeight; // 1 to 10
Pero es la clase TSymbol, que hereda de la anterior, la que publica las propiedades de color:
property FillColor: TColor read FFillColor write SetFillColor;
property StrokeColor: TColor read FStrokeColor write SetStrokeColor;
Ahí lo dejo, no sin antes agradecerte estas completas y utilísimas librerías. Buen trabajo.
Un saludo,
Adrián.
Hola Adrian
Sí, conozco este dato y miraré de solucionarlo en próximas versiones. Hoy por hoy sólo puedes acceder a las propiedades de tipo TColor por código mediante un casteo a su clase.
Para hacer compatible las GMLib con FMX, una de las propiedades afectadas son las de color (TColor para VCL) que para FMX tienen que ser TAlphaColor. Para lograrlo, la jerarquía de clases suele ser algo así: TCustomMiClase (con todas las propiedades menos las de color) –> TMiClase (con las propiedades de color). La propiedad que se publica es de tipo TCustomMiClase pero la que realmente se crea es de tipo TMiClase gracias al polimorfismo. Por eso en el Inspector ves todas las propiedades, pero por código no.
En el caso que expones, la clase publicada es TCustomSymbol, pero internamente se crea un objeto de tipo TSymbol. Así pues, si haces
TSymbol(Tpoliline.icon.icon).FillColor
podrás acceder a las propiedades de color.
Sé que no es lo más elegante, pero hasta una próxima versión en que lo arregle es lo que hay 😉
Nos leemos
Muchísimas gracias. Lo haré así.
Un saludo.
Hola Cadetill nuevamente vuelvo a utilizar tus componentes despues de algo de tiempo, excelente trabajo por cierto 🙂
Mira estoy intentando Obtener los valores de un GMMarker1
Primero que nada ya tengo en una tabla Latitud, Longitud y Titulo, todo perfecto, pero quiero mostrar en un MessageBox por ejemplo esos mismos datos, o por lo menos el Titulo que aparece cuando coloco el mouse sobre el. Pero no he podido encontrar la forma adecuada, mira hago lo siguiente en el DobleClick:
ShowMessage(GMMarker1.Items[0].Title);
Query1.Locate('ID', GMMarker1.Items[0].Title, [loCaseInsensitive, loPartialKey]);
Si lo escribo asi solo me muestra el registro 1 y no se como saber que numero de Item es esa Marca, Lo de abajo es porque quiero que me sincronice el Marcador que selecciono con el registro que almaceno esos datos para que se vea la demás información en los DBEdits, pero tampoco funciono ya que ni siquiera se mueve la DBGrid 🙂
No se si me podrías dar una idea de como obtener el Titulo de mi Marcador que es el nombre del registro y así inventarme algo para que se sincronice con el Datasource supongo, o directamente con la DBGrid que tiene los datos.
Saludos
Hola Erik
Si estás usando el evento DblClick del TGMMarker, tienes el parámetro Index que es el índice del TMarker dentro del array de marcadores. También tienes el parámetro LinkedComponent, que casteándolo a un TMarker, tienes el propio marcador. Cualquiera de los dos parámetros te sirven para acceder al título del marcador.
Nos leemos
Hola de nuevo Cadetill gracias por tu respuesta, ya intente lo que me dijiste GMMarker1.Items. -> y me despliega la ayuda y ahi veo la informacion que necesito, como el titulo y numero de item actual ZIndex
Escribo lo siguiente:
GMMarker1.Items.ZIndex;
Pero me marca error al compilarlo porque necesita saber en que numero de Item estoy:
GMMarker1.Items[?].ZIndex;
Se que necesita que le diga que numero de item esta actualmente seleccionado para poder mostrarme los datos, por ejemplo
GMMarker1.Items[?].Title;
GMMarker1.Items[?].ZIndex;
GMMarker1.Items[?].Position;
GMMarker1.Items[?].Animation; // Saber el item actual ayudaría a solo Animar al seleccionado y al cambiar dejar de animarlo
Vi que con GMMarker1.VisualObjects.Count me dice cuantos elementos se cargaron pero lo que si no he logrado conseguir es poder decirle al GMMarker1 el numero de Item actual, no se si me pudieras dar alguna referencia porque ya lo intente inventando varias cosas pero no me detecta el que presiono, y por ende no puedo acceder a los demas datos.
Tal ves sea una cosa sumamente facil pero ya le intente bastante y nada que doy con la solucion ojala me puedas orintar, saludos
Hola de nuevo Erik
Como te digo, si lo haces des del DblClick del TGMMarker, tienes el parámetro Index que te da ese índice que quieres
Así como el parámetro LinkedComponent que es el propio Item
Si lo haces desde otro lado que no sea un evento del TGMMarker, pues ya depende de ti saber el Item al que quieres acceder.
Si lo que quieres es recorrer en un bucle todos los items, un simple bucle te basta
Nos leemos
Muchisimas gracias Cadetill como siempre, me imagine que seria algo sencillo pero nada que le encontre, muchas gracias voy a probar lo del bucle para ver si puedo animar solo el marcador que seleccione de mi DBGrid ya mas o menos tengo una idea, la cual consiste en recorrer todos los marcadores y si coincide alguno con el titulo que lo Anime 🙂 ya te contare, muchas gracias y un saludo 🙂
Por si a alguien le sirve aqui les dejo como le hice para poder animar solo el Marcador que esta relacionado con mi DBGrid y que al seleccionar otro deje de Animar al anterior:
procedure TForm1.DBGrid1CellClick(Column: TColumn);
Var
i: Integer;
begin
if GMMarker1.Items[PosicionAnterior].Animation.Bounce = True then
GMMarker1.Items[PosicionAnterior].Animation.Bounce:= False;
for i := 0 to GMMarker1.Count – 1 do
begin
if GMMarker1[i].ZIndex = UniQuery1.RecNo – 1 then
GMMarker1.Items[i].Animation.Bounce:= True;
PosicionAnterior:= UniQuery1.RecNo – 1;
end;
end;
Lo que hice como me dijiste fue recorrer con un Bucle los marcadores, cuando pasa por el marcador que coincide con mi registro en la Grid, entonces lo anima, guardo esa posición de la grid en una variable que se llama PosicionAnterior y cuando selecciono otro elemento de mi grid con un click checo si ese marcador esta Animado, si lo esta lo desactivo y recorro nuevamente buscando el actual.
Esta muy chapucero y nada elegante pero hasta ahorita me esta funcionando 🙂 un saludo.
Thank you for your effort on this lib. Very nice. While working with the GMDirections stuff, i noticed it computes and renders a route on the map just fine, but if i try to iterate through the routes in code the count is 0? I can’t seem to access all the routes and leg info. Any ideas? I’m using Delphi 7 with gmlib 0.1.9.
Hi Kevin
Thanks to use this suit of components.
Can you send me a demo program with your problem via e-mail? (you have my e-mail address at ChangesLog.txt file for example).
Thanks
Regards
No tengo como agradecer algo de esta magnitud pienso en tantas aplicacione que no se por cual empezar
Gracias Harom por esas palabras
Saludos
Hola Xavier.
Estoy echándole un vistazo a los componentes, cosa que quería hacer desde hace tiempo. Tengo algún proyecto que trabaja con mapas (temas de GPS, tracks, waypoints,…-http://www.ibpindex.com/index.asp-) y estoy planteándome utilizar en él los componentes, ya que superan con mucho lo que yo tengo hecho de forma «manual».
Haciendo pruebas, se me ha planteado una duda, que seguramente se puede realizar, pero que a primera vista con el ejemplo y el código no he sabido encontrar.
Se trata de centrar el mapa a partir de una ruta (polyline); El centrado no es problema, utilizando el método «CenterMapTo» de la propia clase, pero lo que no consigo es adecuar el zoom para que se ajuste también a esta polyline. Es decir, poder calcular el zoom óptimo para visualizarla (el mayor posible, sin perder puntos).
El primer paso imagino que podría ser calcular el área que contiene todos los puntos, cosa que se podría realizar utilizando «LatLngBoundsExtend» sobre los puntos de la polilinea (no se si hay otra más eficiente), pero lo que no acabo de ver es cómo calcular el «zoom óptimo» para esta zona.
Espero no «molestar»mucho.
P:D: Ya lo he comentado en el foro, pero considero son un gran trabajo.
Un saludo y gracias.
_______________
Germán
Hola Germán, un gusto «verte» por aquí 🙂
Esto lo tengo implementado para los marcadores, pero la verdad es que para las demás figuras no se me había pasado por la cabeza implementarlo. Dado que es muy buena idea, lo haré para la próxima versión de los componentes (que no creo que tarde ya demasiado).
A la que lo tenga implementado, si quieres te lo comento y, si no quieres esperarte a que libere la próxima versión, te lo descargas vía SVN 😉
Un abrazo y gracias a ti por probar los componentes
Nos vemos
Hola Xavier.
Gracias por la pronta respuesta.
Te lo agradezco. Si me avisas cuando lo tengas, lo descargo directamente.
Un saludo.
_____________
Germán
Hola Germán
Pues ya lo tienes, puedes descargártelo mediante SVN. El método se llama ZoomToPoints y es aplicable a TPolylines, TPolygons, TRectangles, TGMMarkers. TGMMap también tiene este método (que de hecho es al que llaman los métodos de las figuras) con la diferencia que para TGMMap se necesita pasar como parámetro un array con los TLatLng a los que queremos ajustar el zoom.
A ver si pronto libero la nueva versión 🙂
Nos leemos
Es posible conseguir este componente para C++BUILDER 2007. Gracias.
Hola tocayo
En este hilo, en los mensajes 7 y 8 te explican cómo
Espero te sea de utilidad
Nos leemos
[…] para termos nosso mapa. Caso você queira se aprofundar mais na suite de componetes acesse o Blog de Cadetill e consulte a documentação de todos os componentes da […]
Hola Cadetill,
muchas gracias por estos fantásticos componentes, son realmente fantásticos.
Quería comentarte una duda para ver si me la puedes resolver. La versión 3 de la API ofrece la posibilidad de pintar mapas de calor para representar densidades de puntos . El funcionamiento es muy parecido a las polilineas, pero lo que se muestra es un mapa de calor. De acuerdo a la API de Google maps, hay que definir un array con los puntos y luego crear la capa de esta forma:
heatmap = new google.maps.visualization.HeatmapLayer({
data: pointArray
});
heatmap.setMap(map);
Sabes si hay alguna forma de dibujar este tipo de capa usando GMLib?
Un saludo y muchas gracias.
Enrique
Buenas Enrique
Los mapas de calor es una mejora que tengo aun pendiente de hacer y que espero sea de las próximas 🙂
Nos leemos
Estimado desarrollador, primero felicitaciones para el proyecto.
Estoy empezando con los componentes en Brasil y me gustaría un poco de ayuda y orientación de cómo debe hacer el siguiente caso:
1 -) Tengo una lista de las direcciones que se muestran en el mapa todas las marcas de estas direcciones en un mismo mapa.
¿Cómo hacer esto? y posible?
Ola Wildner
Te recomiendo que en tu base de datos tengas 2 campos (lat / lng) para almacenar las coordenadas de cada dirección. ¿Por qué? Pues porqué sólo puede hacerse 1 geolocalización por segundo (excepto las 8 primeras) y, si son muchas, el tiempo de espera puede ser largo. En cambio, si tienes los campos de lat/lng, sólo te tardará la 1era vez.
Espero te sirva
[…] para termos nosso mapa. Caso você queira se aprofundar mais na suite de componetes acesse o Blog de Cadetill e consulte a documentação de todos os componentes da […]
Estimado amigo, un grn aporte tuyo por la librerias gmlib.
Nosotros que amamos delphi estamos muy agradecidos.
Tengo unas consultas:
1) Existe alguna forma de poder incluir dentro de un circulo un texto descriptivo.
2) Existe la posibilidad de cargar mapas de OSM sin dejar de usar el API de google?
3) El componente TWEBBrowser es algo lento para mostrar mapas, has pensado usar el componente Delphi-EmbeddedWB
Un gran abrazo
Saludos desde PERU
Tengo un interesante proyecto en desarrollo Google Maps + GPS + Android + Transporte Publico de Pasajeros. si estas interesado puedo darte detalles.
Hola Bruce
Saludos desde el otro lado del Atlántico 😉
1) La verdad es que no. Mi nivel de JS es bastante escaso y eso tendría que hacerse en ese lenguaje (y no he visto nada hecho al respecto) 🙁
2) No me he mirado nunca OSM, pero imagino que se tendrá que usar su propia API (cose que no creo sea complicado de hacer, pero llevaría su tiempo, claro)
3) La verdad es que no, y no creo que lo haga a no ser que exista alguna versión para FMX. No quiero «perder» el tiempo en componentes que sólo estén para VCL, ya que mi idea es hacerlo para ambos frameworks.
El proyecto que quieres hacer suena muy interesante. Si no es molestia, sí, me gustaría me mandaras detalles (puedes ver mi correo en cualquiera de los .pas de los componentes o en el changelog.txt o install.txt que acompañan al proyecto) 🙂
Saludos
En lo referente a mapas de Open Street Map (OSM) no me referia a usar su API , solo a superponer los mapas OSM en Layers o algo asi. y seguir usando el API de google para seguir dibujando circulos, rectabgulos, marcas, etc.
Existe alguna forma de poner texto en el mapa, eso me serviria para poner un texto descriptivo dentro de los circulos
Saludos
Bruce
No creo que se puedan poner las figuras de GoogleMaps en OSM, dado que éstas dependen directamente del mapa.
Lo del texto, seguro que la hay, sería cuestión de buscar y/o investigar el tema, pero lo que también es seguro que tiene que ser un desarrollo aparte del API estándar de GoogleMaps, porque ésta no trae nada por defecto.
Saludos
Congratulations for this job.
Thanks Felipe
Congratulations for this great job !
Regards from Belgium.
Remy
Thanks a lot Remy 🙂
Regards
Hola Cadetill como estas, acabo de actualizar los componentes a la version 1.1.0 y compile nuevamente mi programa, aparentemente todo funciona normalmente no me envia ningun error, el detalle sucede cuando intento cargar un PoliLine, que ahora me devuelve el siguiente error:
—————————
Gmaps
—————————
» is not a valid floating point value.
—————————
Aceptar
—————————
El codigo es el mismo que utilizada en una version anterior de tus componentes, cambio algo para poder remplazarlo???
Este es mi codigo de carga:
procedure TForm1.CargarPolyLines;
var
Polyline: TPolyline;
begin
// create a TPolyline
Polyline := GMPolyline1.Add;
// set properties
Polyline.Editable := False;
Polyline.StrokeColor := clRed;
// Polyline.StrokeOpacity := 1.0;
// create TLinePoint
with Form3.Query1 do begin
First;
while not eof do begin
Polyline.AddLinePoint(Query1.FieldByName('Latitud').AsFloat, Query1.FieldByName('Longitud').AsFloat);
// Polyline.AddLinePoint(18.087076, -96.138868); //Si los coloco de esta manera si me carga la linea
// Polyline.AddLinePoint(17.060598, -96.725357);
Next
end;
end;
Query1.First;
end;
Lo que hace es recorrer con el resultado de mi Query cada registro y cargar su latitud y longitud pero me da el error que te coloque arriba, con la version 0.8 me parece que es la que tenia instalada el mismo codigo funcionaba correctamente.
Saludos
Perdon por la molestia error de principiante, llevaba varios dias desvelandome y cuando llegue a este punto no me di cuenta de algo tan sencillo:
Polyline.AddLinePoint(Query1.FieldByName('Latitud').AsFloat, Query1.FieldByName('Longitud').AsFloat);
El detalle estaba en que cambie mi Query a la Unit3 y aunque le indicaba que procesara con los registros de esa Query se me olvido agregar
Polyline.AddLinePoint(Form3.UniQuery1.FieldByName('Latitud').AsFloat, Form3.UniQuery1.FieldByName('Longitud').AsFloat);
Lo siento mucho por la molestia, de todos modos un saludo :) y excelente trabajo tus componentes.
Hola Erik
Pues nada, me alegra haberte ayudado jejeje
A veces no hay nada como «explicar» el problema para dar con la solución 😉
Un saludo
cadetill
Asi es muchas gracias Cadetill por tu trabajo y dedicación con tus componentes 🙂
hello
thanks for your amazing component
im looking forward to install component on XE5 i tried to install XE4 package but i got an error :
[dcc32 Error] GMClasses.pas(1311): E2003 Undeclared identifier: ‘DecimalSeparator’
[dcc32 Error] GMClasses.pas(1352): E2003 Undeclared identifier: ‘DecimalSeparator’
[dcc32 Fatal Error] GMMap.pas(329): F2063 Could not compile used unit ‘GMClasses.pas’
please help me i need to install and use in firemonkey in XE5
Hi nima
You can download the new release from SVN directory. This new version is compatible with XE5. However isn’t compatible with the FMX.TWebBrowser yet. In a not far (I hope) version, I will do it.
Regards
Amazing work! Thank you.
Thanks you to us it 🙂
Hola Cadetill, primero que nada queria felicitarte por tu gran trabajo y agradecerte porque realmente nos ayuda mucho tu librerias en proyectos donde requiera el uso de GMaps.
Ahora bien tengo una cuestion con los Markers, deshabilito la propiedad AutoUpdate para cargar mas de 100 markers, pero una vez cargado quiero agregar un nuevo marker y no se dibuja. Otro tema es si existe alguna forma para mejorar el desplazamiento en el mapa con muchos marcadores ya que mientras mas cantidad hay mas se pone lento.
Espero tu respuesta! Saludos!
Hola Carlos
Para cargar gran cantidad de marcadores tienes los métodos LoadFromCSV y LoadFromDataSet que ya cargan marcadores a gran velocidad.
Prueba y me comentas
Saludos
Probé el método LoadFromDataSet y fue muy bueno el rendimiento obtenido tanto en la carga de los Markers como en el desplazamiento de la vista del mapa, muchísimas gracias!
Otra cuestión que tengo es sobre si se podría modificar dicho método para que los Markers generados tengan la propiedad Draggable en true y los iconos los cargue desde una dirección de directorios y no de un campo del dataset.
Desde ya muchas gracias por tus respuestas y tu aporte!
Saludos
Hola de nuevo
Por supuesto que puedes cambiar lo que quieras, para eso tienes los fuentes!! 🙂
No obstante, más que modificar, te aconsejo que añadas un nuevo método basándote en los que ya hay, que me mandes el cambio y lo añado para que todos podamos disfrutar de él y así, en próximas actualizaciones lo tendrás por defecto y no tendrás que acordarte de volverlo a añadir/hacer los cambios.
Saludos
Hola amigo, como puedo hacer para que un marker standar muestre siempre un label?, el problema es que agrego varios markers a mi mapa pero para saber que es cada uno de los puntos marcados hayque dar click en el o pasar el mouse sobre el , seria practico que siempre estubiece visible un label indicado por el titulo.
Hola Alex
GMLib es una librería que sólo pretende encapsular el API de Google Maps, no extender la misma. El comportamiento que tu pides no es algo estándar de Google Maps, por lo que no realiza ese efecto. Lo que puedes hacer en su lugar es cambiar el tipo de marcador a mtStyledMarker y con estilo siBubble, o bien tener siempre visible el InfoWindows del marcador.
Hola, como puedo descargar la versión que compila con xe5? Gracias!
Buenas
Sólo está disponible la descarga vía SVN desde la página http://code.google.com/p/gmlibrary/source/checkout
Saludos
Hola Cadetill primero que nada Felices fiestas navideñas 🙂
Sigo probando tu trabajo y es excelente y muy util para un monton de ideas que requieran mapas de google, muchas gracias por compartirlo.
Tengo una consulta, si cargo por ejemplo 20 marcadores, y sobre uno de ellos ocupo la herramienta de TCircle de un diametro aproximado de 1000 metros, es posible contar el numero de marcadores que estan dentro de ese perimetro?
Hay alguna forma de detectar cuantos estan dentro del circulo?, te envio un saludo 😀
Hola cadetill.
Muchas gracias por estos componentes.
Como puedo cambiar la propiedad MarkerType de un TMarker desde código?
Gracias por adelantado. Un saludo!
Buenas,
Simplemente accede al marcador mediante el array de marcadores y cambia la propiedad. Algo así
GMMarker1[Indice_Marcador].MarkerType := el valor que tu quieras
La primera parte se ponerla, lo que no consigo es colocar bien el valor que quiero asignarle. Podrias poner el ejemplo completo? Gracias.
Tienes un ejemplo completo en la MegaDemo 😉
Saludos
Hola amigo, estos componentes funcionan para android en el delhi xe5?
si no es asi, planeas hacerlos compatibles?
Hola Alex
De momento no son compatibles con Android ni iOS. Espero en un futuro hacerlos compatibles, pero no es una de mis inmediatas prioridades.
Saludos
Felicidades por los componentes !!
Sólo quería saber si estás preparando una versión que compile con Delphi XE6
saludos.
Hola Pere
Sí, la próxima versión, entre otros, traerá la compatibilidad con XE6
Saludos
GmLib 1.2.4 Delphi 6..Delphi XE6 version 😉 😉
http://yadi.sk/d/th-8oez8RSWK8
Thanks, I will try it!!
Help help help 🙂 🙂
google map marker with transparent text label
Sample: http://jsfiddle.net/yV6xv/181/
Hi Mehmet
This is not a standard Google Maps API. Perhaps in a future version.
Regards
Hi cadetill
I would be glad if you do XE6 version. 🙂
Regards
Speed too fast as yours, but it causes very slow;
https://code.google.com/p/delphimaps/downloads/detail?name=delphimaps1.03.zip&can=2&q =
I know this project 🙂
My project is running very slow, do you have a solution for. :S :S :S
Send me a demo sources to see if the problem is your connection or the code 🙂
help help help help
how they’ll integrate it. I would appreciate if you could help.
http://stackoverflow.com/questions/11096094/google-maps-v3-marker-with-label
🙂 🙂 🙂 🙂 🙂 🙂
[…] posto, segue o link para turbinar suas aplicações com os recursos da GMLib 1.3.0: GMLib – Google Maps Library v1.3.0 é compatível com Delphi XE5 e Delphi […]
Já existe uma versão compatível com Firemonkey? Utilizo o XE6 e quero desenvolver um APP android.
não, e até a versão 2.0 (que espero lançar antes do final do ano), não será
Olá Cadetill,
Gostaria de parabeniza-lo pelo otimo projeto.
Iniciei alguns testes, e estou tentando montar um roteirizador, porem ao informar mais de 10 pontos, para o componente ele não traça a rota, não aparece nada no mapa, até 9 pontos o sistema gera a rota a apresenta no mapa, acima desta quantidade não .
Sabe me informar se é um limitação da API, do componente ?
Obrigado e parabéns pelo ótimo trabalho !
Marcio
boa noite Marcio
A Api do google aceita somente 10 ponto… acima disso não consegue fazer …
Att
José Carlos
bom dia,
Começou ontem dar um erro «json» não está definido.
Att
José Carlos
si, estou trabalhando para corregir
Obrigado
ok, obrigado
Boa Noite,
Quando passa o mouse sobre algum ponto marcado
Começou ontem dar esse erro:
Linha: 188
Caracter: 942
Erro: «Json» não está definido
Código: 0
Url: about blank
O que será que está errado
Desde já agradeço sua atenção
Bom dia Cadetill!
No Windows XP SP3 com o Delphi XE2 e GMLib versão [1.4.0 Final].
No IE8 já verifiquei a propriedade no item «Navegação» se está marcado «Desabilitar depuração Script» e desmarcado «Exibir notificação sobre cada erro de script» e nada!
Tentei trocar a propriedade do GMMap1 language por «PortuguesBR» e «English» e nada resolveu.
Quando clico em um «Marker» para informar o html simples que criei aparece o seguinte erro:
«Invalid Floating Point Operation» em seguida
«Access violation at address 633A001A in module ‘jscript.dll’. Read of address 00000000.»
O que está faltando para acertar?
Agredeço sua atenção!
José Ricardo
Ola Jose
Eu sei sobre este erro e eu estou a trabalhar para solucionar.
Cumprimentos
Tem alguma previsão para solucionar o problema, teria alguma coisa que eu possa fazer para ajudar?
Eu acho que tenho a solução. Algumas provas mais e publicou uma nova versão 🙂
ok, tem algum site para fazer doações ao projeto?
Si!! Aquí
Cumprimentos!
Bom Tarde Cadetill!
Eu acho que este problemas está dentro do componente WebBrowse do próprio Delphi???
Cumprimentos
José Ricardo
Nao, o problema e uma mudança no Google Maps APIs
Cumprimentos
Obrigado cadetill!!!!
Funcionando sem problemas!!!!! ;-);-);-);-)
Pode ocorrer novamente estes erros no futuro?
Cumprimentos
Acho que não, já que eu fixado a versão da API do Google Maps.
Cumprimentos
Muy buenas, estoy intentando trabajar con los componentes y la librería pero me sucede el siguiente problema.
Ya sea a través de GeoCode1.Geocode(‘String’); o siempre que introduzca Address en alguna de las direcciones, se queda en el siguiente código eternamente. La ventana recupera el foco y todo lo demás funciona, pero no saltan más eventos de mi programa.
procedure TGMGeoCode.GeocodeData(Data: string);
var
Tmp: string;
begin
if not Assigned(Map) then
raise Exception.Create(GetTranslateText(‘Mapa no asignado’, Language));
Tmp := Data + ‘,’ + QuotedStr(TCustomTransform.RegionToStr(FRegion));
if (Bounds.NE.Lat 0) or (Bounds.NE.Lng 0) or
(Bounds.SW.Lat 0) or (Bounds.SW.Lng 0) then
Tmp := Tmp + ‘,’ + Bounds.SW.ToUrlValue(0) + ‘,’ + Bounds.NE.ToUrlValue(0)
else
Tmp := Tmp + ‘,-1,-1,-1,-1’;
Tmp := Tmp + ‘,’ + QuotedStr(TCustomTransform.LangCodeToStr(FLangCode));
ExecuteScript(‘GetGeocoder’, Tmp);
//Aquí se queda pillado sin salir nunca
repeat
TGMGenFunc.ProcessMessages;
until (GetIntegerField(GeocoderForm, GeocoderFormResponse) = 1);
//
FXMLData.Text := GetStringField(GeocoderForm, GeocoderFormXML);
if Assigned(FAfterGetData) then FAfterGetData(Self);
ParseData;
end;
¿A que puede deberse esto?
Gracias!
Buenas,
Puedes enviarme un programa (el código) para ver qué y cómo haces las cosas?
Saludos
Disculpa las molestias, parece que el problema venía del momento en el que ejecutaba el código, al hacer un proyecto nuevo para enviarte el ejemplo y utilizar un botón, ví que funcionaba bien. En mi proyecto se encuentra sobre un Frame y lo cargo dentro de TabControl mediante una función. Tenía problemas en el momento justo en el que intentaba hacer el GeoCode. Muchas gracias por su pronta respuesta, un saludo!
Perfecto 🙂
Eso sí, quisiera preguntarte dos aspectos de los que no comprendo bien el funcionamiento.
En primer lugar, toda la parte de WaypointsOrder, veo que si optimizo los Waypoints el reordena todos ellos en función de lo más optimo. Pero ¿cómo puedo reutilizarlo al calcular la ruta? ¿De que forma hago que en el cálculo de la ruta tome los Waypoints en este correcto orden y no en el original?
En segunda instancia, una vez calculada una ruta con todos sus Waypoints, ¿qué propiedad me devuelve la distancia total?
Muchísimas gracias de antemano!
Por favor, ¿podría ayudarme con estos aspectos?
Si te he entendido bien, necesitas poner la propiedad StopOver del TWaypoint a true.
Para la segunda pregunta, no hay ninguna propiedad que te devuelva la distancia total, necesitas calcularla sumando los FGMDir.DirectionsResult[Indice_deseado].Routes[ruta_deseada].Leg[recorrer_todos_los_pasos].Distance.Value
Con colocar StopOver a true y teniendo OptimizeWaypoints a true, de toda la lista de direcciones que introduzca en Waypoints list, ¿me cogerá directa y automáticamente el mejor orden de paradas para el menor recorrido?
Gracias por el trabajo tan bueno que haces!
Correcto
Hola Cadetill, queria preguntarte si es posible utilizar la funcion MarkerClusterer de los mapas de google, ya que se me hace muy util sobre todo en mapas con infinidad de marcadores, ya que te segun el nivel de zoom lo que hace es mostrarte una especie de circulo de color con el numero de marcadores y entre mas te alejes o te acerques los reagrupa.
Este es el enlace a la informacion de la utilizacion del MarkerClusterer:
https://developers.google.com/maps/articles/toomanymarkers?hl=es#markerclusterer
Saludos
Hola Erik
Esta funcionalidad, que no es estándar del API de Google Maps, quiero incorporarla en próximas versiones. Pero tengo que retocar bastante código para incorporarla, así que de momento la tengo un poco aparcada.
Saludos
Muchas gracias por la respuesta cadetill, pense que era parte de la API estandar de Google Maps, de cualquier forma muchas gracias por tus actualizaciones, excelente trabajo
Hola Cadetill, estoy iniciando un proyecto que involucra mapas y baje los componentes, y lo que llevo usandolo estan super funcionales.
Una duda que ya llevo algo de tiempo de revisar es si se puede mover el zoom del mapa por programa (talvez este sencillo pero no logro ver esto).
La situacion es la siguiente, estoy haciendo un Marker buscando una direccion y funciona muy bien, pero el nivel de detalle que muestra el mapa no es el correcto (para la aplicacion), aparece a nivel ciudad y lo requiero a nivel calle.
Te agradesco de antemano cualquier comentario.
Hola Miguel
Sólo tienes que cambiar la propiedad zoom del TGMMap
Gracias, sabia que era por ahi, pero como no la encontraba.
Pongo la ruta por si alguien mas anda igual que yo:
GMMap1.RequiredProp.Zoom := 17;
Saludos.
Estimado:
Estoy instalando la versión 1.5.1 en Delphi XE7, correctamente instala GMLib_DX7 – GMLib_DX7_Vcl – GMLibEdit_DX7, pero para GMLib_DX7_FMX me da el siguiente mensaje:
[dcc32 Fatal Error] F2039 Could not create output file ‘C:\Users\Public\Documents\Embarcadero\Studio\15.0\Bpl\GMLib_DXE7.bpl’
[dcc32 Fatal Error] GMLib_DXE7_FMX.dpk(33): E2202 Required package ‘GMLib_DXE7’ not found
Alguna solución
Gracias
Hola Miguel
Añade en el Library Path la carpeta de los .dcu que corresponda a tu versión de Delphi
Saludos
Hola , rutas alternativas no están siendo preservados incluso con opción hiddeOthers ( false). Desearía que fueron asignadas todas las rutas . El color principal y de como una alternativa a otro color. Como hacer?
Hola André
Lo he probado y me funciona correctamente. ¿Que destinos pones para probarlo?
Ola sr Cadetill.
Sou Brasileiro e faço parte do grupo DELPHI EXPERTS, pelo FACEBOOK.
Muito tenho aprendido nestes e em outros grupos.
Vi seu artigo sobre GMLIB para delphi.
Voce não teria o pacote para Delphi Seatlle ? eu ja peguei para Delphi XE8 e ainda nao migrei para a nova versao por falta destas classes.
Agradeço desde ja pela atenção.
Hi Joao
You can download now 😉
Buenas noches Cadetill en primera instancia dar las gracias por tan excelente componente,
por otro lado estoy muy interesado en instar el componente en la versión de Delphi XE10 Seattle ya que al descargar
el paquete que aparece en la pagina que es 1.5.3 como ultima versión en el documento de Install.txt
salen las siguientes plataformas:
Delphi 6
Delphi 7
Delphi 2007
Delphi 2009
Delphi 2010
RAD Studio XE
RAD Studio XE2
RAD Studio XE3
RAD Studio XE4
RAD Studio XE5
RAD Studio XE6
RAD Studio XE7
RAD Studio XE8
y versiones anteriores pero no hay documentación de RAD Studio Seattle 10
no se si tengas un manual o un vídeo tutorial de como instalarla en RAD Studie Seattle 10 ya que esta version tiene nuevas cosas que nos permiten realizar nuevas cosas y es la licencia que tengo actualmente
de nuevo muchas gracias mil bendiciones
de antemano agradezco tu pronta respuesta.
Hola
La instalación es la misma que en versiones anteriores, sólo que tienes que escoger el paquete de tu versión de Delphi, que será el GMLibProject_D_Seattle10
Saludos
Boa tarde!
Gostaria de saber se há possibilidade de colocar uma «label» visível abaixo de um marcador para identificar o mesmo.
Hi Camilo
I’m sorry, but not by the moment
Buenas tardes
Me esta saliendo el error » ‘StyledIcon’ no esta definido » cuando va a cargar el mapa
Saludos
Sí, parece ser que hay un archivo alojado en code.google que ya no es accesible via raw. Voy a mirar de subirlo a la carpeta de GitHub de la GMLib v1.x para que puede ser de nuevo accesible, Estar atentos a las entradas del blog porque explicaré cómo corregir el error una vez lo tenga solucionado.
Olá visto aqui é como se fosse a invenção da roda , porem no meu Delphi 2010 não executa, não abre os mapas. Alguém teria um código fonte pronto para enviar para mim ?
obrigado
Hi Regis
You have a MegaDemo program with source code. Try to see it
Ola. Alguma novidade para o Delphi 10.1 Berlin? Obrigado e parabens pelo trabalho.
Hola
Seguramente en unas semanas sacará una nueva versión
Amigo, ¿Cuándo van a producir una nueva versión que se pueda instalar en RAD Studio XE 10.1 Berlin?
Hola
Seguramente en unas semanas sacará una nueva versión
Ola Cadetill, tudo bem?
Alguma previsão para o Delphi Berlin?
Grande abraço do Brasil.
Hola
Seguramente en unas semanas sacará una nueva versión
Obrigado e parabéns pelo componente, muito útil fica difícil viver sem ele kkk.
Abraço
Como pego os dados da rota como a distancia depois de alterar a rota arrastando um determinado ponto?
Saludos Cadetill, instale los componentes en XE10 Seattle siguiendo los pasos para XE8, y en cada paso me indico que los componentes estaban instalados, pero al abrir la paleta Google Maps, solo muestra 4 componentes, que me recomiendas.
Hola
Has añadido en library path la ruta de los .dcu y .pas?
I have the same problem with Delphi Berlin and new version of GMLib. I only see TGMInfoWindows, TGMGeoCode, TGMGroundOverlay and TGMHeatMap components. I have added path to lib and source… Any help ?
There are not complete dpk Berlin files….
Try now!
I have the same situation…
Any help?
Thank you in advance…
Have you tried the latest version?
Buenas noches !
Las primeras felicitaciones por el componente . Estoy desarrollando un sistema de enrutamiento con el componente GMDirection , para identificar a los restaurantes, combuístiveis los mensajes de marcadores en el camino. El objetivo es colocar los marcadores en el mapa por latitud y longitud, utilizando la respuesta componente de matriz ( overviewpatch ) .
Me di cuenta de que el intervalo entre las coordenadas cambios ( overviewpatch ) en función del punto de origen y destino, como las coordenadas
que esté registrado en la base de datos son fijos. Esto se lleva a la exactitud , porque si hay una ocurrencia con coordenadas cerca de la ruta ( overviewpatch ) es decir, dentro de la gama , el sistema tiene en cuenta .
Me pregunto si hay una manera de obtener sólo las coordenadas ( matriz ) cuyo recorrido pasa en realidad ( polilínea ) y qué rango de criterios que utiliza la API para calcular el parche visión general .
Sujestões son muy bienvenidos!
( PS : Texto traducido con google )
Muchas gracias ! Saludos desde Brasil !
Eduardo .
Hola Eduardo
No entiendo muy bien lo que necesitas, puedes ponerme un ejemplo?
Hola
Esta funcionalidad de la aplicación exacta de la muestra que necesito.
http://www.mapeia.com.br
Este sitio muestra los peajes existentes en una determinada ruta . Analizando el concepto de operación que tienen una base de datos con los puntos que desea marcar en el mapa, la línea ( polilyne ) ir a través de la coordinación que marca en el mapa .
Hice algunas pruebas con el resultado obtenido en la matriz ( overviewpath ) , dependiendo de la ruta , los valores cambian .
Me pregunto si hay alguna función en el componente que me devuelve sólo las coordenadas del polilyne camino.
Muchas gracias !
Eduardo.
Hola !
Olvidé mencionar una ruta para la prueba. Realice la siguiente ruta en el sitio http://www.mapeia.com.br: (Presidente Epitacio, SP x Indaiatuba, SP). La pantalla del sitio en el mapa los peajes existentes en el camino. Incluise es posible que usted puede cambiar la ruta arrastrando la línea.
Gracias !
Exceptuando los peajes, la distancia y el tiempo puedes conseguirlo de las propiedades del Leg (propiedad de la Route[x])
Buenas…. cuando utilizo GMDirection para mostrar una ruta entre 4 puntos y uno de ellos son estas coordenadas (42.237367,-8.735198) ó (42,235902,-8.732295) cuando ejecuto el GMDirecction.Execute aparece un mensaje de error que dice
No se puede convertir NULL a Objeto OLE
He depurado y he llegado hasta aquí
GMDirecction.pas – Línea 3575
// ES: etiqueta «summary» (sólo una) // EN: «summary» tag (only one)
if SameText(Node.NodeName, LBL_D_SUMMARY) then Result.FSumary := Node.NodeValue;
¿Me puedes echar un cable?
Gracias
Hola
He hecho la prueba y me funciona correctamente. Mira de mandarme un ejemplo (fuentes y exe) para ver dónde está el error
Boa Tarde!
Cadetill, estou com um problema e acredito que a biblioteca GMLIB possa me ajudar, já baixei sua biblioteca e já tenho pronta uma aplicação de rota com vários pontos. O meu problema é o seguinte, quero retorna um ponto próximo a outro ponto pre definido. Ex. Um ônibus irá levar os funcionários até a empresa, mas o problema é que o ônibus não vai até a casa de cada funcionário o programa retornaria um ponto que ficaria fácil para o ônibus passar sem sair muito da sua rota principal e que o funcionário não ande muito até chegar nesse ponto. Teria que estimar uns 2km para o funcionário não andar muito.
Com a GMLIB consegui traçar essa rota mas indo diretamente no endereço do funcionário, não consegui calcular esse novo ponto para o ônibus passar.
Hi. I don’t understand you a lot, because I have a poor portugues but try with TGeometry.ComputeDistanceBetween from unit GMFunctions
Saludos a todos y de antemano gracias por su valioso tiempo y aportes a todos…
He tratado de todas formas para poder tratar de instalar GMLib en Berlin 10.1 y no ha sido posible, las demos se ejecutan bien y al compilar e instalar he podido resolver una que otra situación, pero no se me instalan todos los componentes TGMGeoCode, TGMGroundOverlay, TGMHeatmap y TGMInfoWindow, hay 2 paquetes mas, pero vacíos.
He descargado directo, con el repositorio, he compilado y generado todo e instalado, y nada!
Les agradezco cualquier ayuda…
Has probado la última versión?
Si, he hecho todo a mi conocimiento, quizás estoy fallando en algo, mas, he tratado todo y nada aun,.
Agradezco toda la ayuda posible, sea un PASO-A-PASO o cualquier sugerencia…
Gracias anticipadas!
Perdon, problemas de sincronización con GitHub han hecho que no subieran los cambios, intentalo de nuevo
Sincronizo con GitHub y Nada aun, da errores para abrir los proyectos, no reconoce las unidades, aún se revise el path y demás.
Descargo desde GitHub, descomprimo, y nada aún.
Intento con el proyecto de Seattle y peor aún.
Te agradezco cualquier ayuda…
Hi Cadetill !
Function TGeometry.IsLocationOnEdge() does not return the expected result, applying the following situation:
I’m changing the parameter of funcion IsLocationOnEdge, integer for real.
Example if say (33.00276, -96.6824) is on the polyline, if the tolerance is 0.00001 then if you change the point to (33.00278, -96.6824) then the point will not be on the polyline.
So, you can probably use 0.001 as the tolerance value, if you want to find detect a location within about 100m for polyline.
For example, if your location is (1.001, 12), one of the points in polyline is(1, 12), the distance between your location and the polyline will be about 111.319 meters. The tolerance between (1.001, 12) and (1, 12) is 0.001, so the isLocationOnEdge() will return true.
If your location is (1.002, 12), distance to (1, 12), will be about 222.638 meters. The tolerance between them is 0.02, so if you use 0.001 as the tolerance value for isLocaitonOnEdge(), it will return false.
Could you help me with this situation ?
Thanks !
Eduardo.
No puedo compilarlo en Delphi 10.1
A alguno le pasa?
No entiendo mucho de esto por que recién empiezo, pero quizás alguien me pueda ayudar a enterder por qué no compila.
Gracias!!
Descarga la última versión de GitHub
hay un problema en los dpk de berlin que preparaste sale un error : error reading fatal error -1072896764 un nombre comenzaba con caracter no valido Line1, column 2
He vuelto a subir los dpk de Berlin, pruebalo de nuevo a ver
Please anything new for Berlin
go to https://github.com/cadetill/gmlib_v1 to download last version
hola perdon la ignorancia
xe7 compile e installe como dice el archivo de install.txt
pero al correrlo marca «can not run project unless host application is defined. Use run|parameters dialog box»
o como le hago para correrlo
gracias
Unos componentes no puedes «ejecutarlos» como una aplicación. Hay que usarlos en alguna aplicación, como si de un TEdit se tratara
Hola, buenas tardes
He estado trabajando con el componente TGMMap y TGMPolygon.
Existe alguna manera de crear lo polígonos de manera masiva?
Es decir actualmente tengo almacenados alrededor de 58,000 polígonos con 4 Vértices en promedio en una BD.
pero para montarlos al componente ocupo recorrer el cursor de esos 58,000 con sus respectivos vértices
y es un poco tardado el proceso.
Saludos.
Atte. Luis Pineda
Para polígonos no hay ninguna función de creación masiva, lo lamento
Una pregunta que no veo que se pueda hacer…. ¿se pueden agrupar los marker? es decir, si hay muchos puntos juntos en una misma zona, ¿hay forma de agruparlos y que muestre un número y a medida que se hace zoom se vayan desagrupando?
Gracias
Bom dia, Existe alguma função para me retornar as distancia entre 2 pontos ,passando como parametro lat/long e o endereço ? Muito obrigado pela ajuda
Ola!
Into GMFunctions you have TGeometry class with class function ComputeDistanceBetween
Ola,
Tenho alguns projetos utilizando o seu componente de uma semana para ate hoje esta ocorrendo um erro no ao abrir o mapa.
Ops! Algo deu errado.
Esta página não carregou o Google Maps corretamente. Consulte o console JavaScript para ver detalhes técnicos.
Fiz um projeto so colocando o componente e um TwebBrowser e apos abrir o mapa ocorre o erro.
Não utlizo Key, fiz o cadastro no google de gerar a Key e mesmo assim ocorre o erro
Sabe o que pode estar ocorrendo ?
Obrigado
Marcio
It seems they are making changes to the API and this do that GMLib stops running for some time. If the errors continue I will try to fix it
Cadetil,
Eu resolvi o problema que estava ocorrendo com o componente da seguinte forma.
Alterei o arquivo map.html na pasta Resource alterando a a chamada do api
Troquei a linha http://maps.google.com/maps/api/js?v=3.17&sensor=false&libraries=weather,panoramio,geometry,drawing,visualization
Por Esta
src=»https://maps.googleapis.com/maps/api/js?v=3.20&key=API_KEY&sensor=false&libraries=weather,panoramio,geometry,drawing,visualization
No componente setei a Key criada no painel do Google e funcionou, porém a partir de agora esta validando as cotas diarias….
Nos testes que fiz se trocar para v=3.17 comeca a dar erro, se remover a key também da erro.
Se tiver alguma novidade nos informe, mas acredito que se trocar no map.hml como vi muitas solicitação não havia tempo para reescrever minha aplicação, fiquei testando todas as formas até funcionar.
Obrigado
Marcio Eduardo
The solution in this post
Hola Cadetill, primero agradecerte por estos geniales componentes.
Segundo, al querer abrir el Mega Demo, luego de unos segundos aparece un mensaje que dice lo siguiente:
«Se produjo un error. Esta página no cargó bien Google Maps. Consulta la consola de javaScript para obtener los detalles técnicos.»
No se como abrir la consola, y no da ningún detalle mas sobre el error.
Gracias y saludos!
Parece que están haciendo cambios en la API que deja sin funcionamiento a la GMLib durante algunos ratos. Si los errores siguen intentaré mirar a qué se deben
hello,
I have the same problem.
» Esta página no cargó bien Google Maps. Consulta la consola de javaScript para obtener los detalles técnicos»
this error is starting at until 7:45 PM to 3:45 AM, will this be fixed?
help please,
Buen dia, desde el dia de ayer al momneto de cargar los demos me aparece el siguiente error «Esta pagina no cargo bien Google Maps. Consulta la cosola de JavaScript » esto a que se debe
Parece que están haciendo cambios en la API que deja sin funcionamiento a la GMLib durante algunos ratos. Si los errores siguen intentaré mirar a qué se deben
Hola, he descargado los componentes porque aspiro a poder mostrar un mapa con multiples direcciones (o wayponts? ), bien.. de inicio he querido ejecutar los demos de «gmlib_demos» y quedan frezze todos, no responden, tengo que instalar algo adicional en el windows para que funcionen? algun tip que me puedas pasar? gracias!!!! 🙂
A parte de los componentes en sí, no, no hay que instalar nada más
Hola Cadetill. Había estado usando sin problemas la versión 1.5.3 del componente en Rad Studio XE10.1 Berlin, y hoy, de repente, en las dos computadoras que tengo para desarrollo, empezó a no funcionar.
¿Sabes si pudo haber habido algún problema en la API de GoogleMaps o que haya cambiado la versión, o algo así?
Yo para evitar errores siempre he usado algo como esto:
try
//if glSettings.GMapsStarted and WebBrowserGMaps.Visible then
GMMap.DoMap;
except
edGeoLocation.Text := Format(‘Problem on Accessing GoogleMaps…’, []);
if GMMap.WebBrowser.Document = nil then
GMMap.WebBrowser.Navigate(‘about:blank’);
end;
Y lo que me está pasando ahora es que todas las ventanas son blancas, es decir, da una excepción permanentemente el DoMap. No cambié nada más, inclusive volví a unas versiones anteriores de código y hacen lo mismo.
Muchas gracias.
Saludos.
Prueba esta solucion de aquí
Hi, please, How to use hexadecimal colors in gmmarker.ColoredMarker.PrimaryColor ?
thanks
Buenas tardes, en el MegaDemo, al abrir: Map -> Map Properties -> Visual Prop. Al presionar en «Do Map» me da el error «Página inicial aun no cargada». Que puede ser lo que me esté dando este error? Gracias
descarga la última versión des de github
good afternoon,
Started making a mistake now afternoon, right here in the code In Unit: GMMap;
«If not FDocLoaded then
Raise Exception.Create (GetTranslateText (‘Home not yet loaded’, Language));
System is Key API Key If you can help me .. thank you very much.
Hi people!
Recently, the components of Marker and Polylines have ceased to work, as well as the commands for GMMap.
Perhaps this is due to the API keys, but the 1.5.4 update did not help.
Who had such problems? How did you decide this?
download latest version on github
estou com problema no metodo execute da classe gmDirection, tem repeat que fica em loop para sempre e acaba travando o aplicativo, fiz alguns ajustes na minha classe caso ache interessante, segue a alteração.
repeat
TGMGenFunc.ProcessMessages;
Inc(count);
retorno := GetIntegerField(DirectionsForm, DirectionsFormResponse);
if retorno = 0 then
begin
if count = 100 then
Break;
end;
until (retorno = 1);
try to uninstall, delete dcu and bpl files, and reinstall
Desde hace algunos 3 días que el programa que había desarrollado utilizando esta librería no carga la página inicial o principal, es decir no despliega el mapa, a pesar de haber instalado la versión reciente 1.5.5
prueba a desinstalar, borrar dcu y bpl y reinstalar
Cadeteil,
Meu sistema estava funcionando normalmente , apos as mudanças do google apos 11/06 sobre a cobrança dos servicos, criei uma conta de faturamento, associei a minha conta e ao projeto que tinha a chave, APIKEY, porem ao entrar no mapa , ele nao aparece…. fica sempre girando o cursor…e não carrega, sabe se houve alguma mundança e há necessidade de algum ajuste na GMLIB ?
Cadetil buenos dias
tengo un software el cual tengo muchos años trabajando en él sin contratiempos mayores, pero el dia de ayer al mostrar el mapa me marca un error, al parecer tiene que ver con el componente GMaps. sabes si hubo algun cambio en las politicas de google que este ocasionando este error..
El mensaje que me marca es:
«ERROR EN EL SCRIPT DE ESTA PAGINA»
Buenos días, google había avisado que en agosto del 2022 el explorador que usas por defecto este componente ya no iba a servir pero por lo visto se adelanataron