martes, 16 de julio de 2013

Nueva versión de Map Control para Web

Quedó publicado en GeneXus Marketplace la nueva versión del User Control: "Map Control".
Esta nueva versión tiene dos nuevas funcionalidades:
1) La incorporación de Baidu Maps como proveedor de mapas (solo para China).
2) La posibilidad de dibujar Lineas (Para Baidu Maps y Google Maps).

Ademas se optimizó la solicitud de recursos externos, dado que hasta esta versión, independientemente del proveedor de mapas que se seleccione se solicitaban los recursos para los mapas de Google y Yahoo. Ahora solo solicita los del proveedor seleccionado.

¿Por qué Baidu Maps?
En China el acceso a los servicios de Google es bastante restringido, no siempre están accesibles y cuando lo están la velocidad de respuesta no es buena.
Baidu Maps es el proveedor de mapas mas importante de China y ofrece las mismas características que los mapas de Google.
Es importante aclarar que los mapas de Baidu están solo disponibles para el territorio chino, por lo que es recomendable utilizarlo solo en aplicaciones para China.



¿Como los utilizo?
Simplemente tengo que seleccionar en la lista de Providers a "Baidu Maps"




¿Y en Smart Devices?
Para Smart Devices ya se ha incorporado Baidu Maps como proveedor de mapas (Ev2 U4 y Tilo, build 70648 o superior, por ahora solo para Android).
Para este ambiente la elección del proveedor es a nivel de propiedad del generador y no como una propiedad del control (User Control) como es el caso de web.

Para utilizarlo hay que setear la propiedad "Android Maps API" el valor "Baidu Maps API" e indicar una key valida, para ambiente de desarrollo se puede utilizar "2AD8D19E3BA1B698B1211B10545F913ED9765BD4".



y por ultimo... ¿Cómo agrego una línea?
Les dejo un ejemplo de código de como dibujar una linea con Map Control (para Google y Baidu)

Event 'Draw Line'
&MapLine = new()

&MapLinePoint = new()
&MapLinePoint.PointLat = '31.223182'
&MapLinePoint.PointLong = '121.44654'
&MapLine.Points.Add(&MapLinePoint)

&MapLinePoint = new()
&MapLinePoint.PointLat = '31.228209'
&MapLinePoint.PointLong = '121.474006'
&MapLine.Points.Add(&MapLinePoint)
 

&GxMapData.Lines.Add(&MapLine)
Endevent

No hay comentarios.:

Publicar un comentario