GoogleMaps.subgurim.NET tiene soporte para
DataSource. Éste funciona igual que el de cualquier otro elemento que soporte DataSource como un ListBox, un GridView, un ChekList, etc. De modo que, por ejemplo, podemos asignar un listado genérico o un dataset como "DataSource" o SqlDataSource u ObjectDataSource como "DataSourceID".
Le podemos asignar los siguientes campos ("Fields"):
- DataLatField: indica el nombre del campo que contiene el "double" con la latitud del punto. Es un campo obligatorio. Si no se pone ningún nombre, valdrá "lat".
- DataLngField: indica el nombre del campo que contiene el "double" con la longitud del punto. Es un campo obligatorio. Si no se pone ningún nombre, valdrá "lng".
- DataGInfoWindowTextField: si deseamos que en del icono definido en los dos campos anteriores salga un GInfoWindow, vale con darle un valor string, que corresponderá con el valor en formato html del GInfoWindow. Por tanto, "DataGInfoWindowTextField" indica el nombre del campo que contiene el string con el html del GInfoWindow. Si dicho campo no existe o está vacío, no se abrirá ningún GInfoWindow.
- DataGIconImageField: Si queremos un icono debemos indicar el nombre del campo que contiene el path de la imagen.
- DataGIconShadowField: Si queremos un icono debemos indicar el nombre del campo que contiene el path de la sombra.
- DataGIconAnchorField: Si queremos un icono debemos indicar el nombre del campo que contiene el anchor de la imagen. Por ejemplo: 6,20
- DataGIconSizeField: Si queremos un icono debemos indicar el nombre del campo que contiene el size de la imagen. Por ejemplo 12,20
- DataGIconShadowSizeField: Si queremos un icono debemos indicar el nombre del campo que contiene el size de la sombra. Por ejemplo: 22,20
- DataGInfoWindowAnchorField: Si queremos un infowindow, debemos indicar el nombre del campo que contiene el anchor de la imagen. Por ejemplo: 5,1
Con la propiedad
DataSourceType podemos elegir qué mostrarán los puntos que definamos. Tenemos varias opciones:
Markers (por defecto),
Polygons, Polylines,
PolygonsAndMarkers y
PolylinesAndMarkers
Como tanto el
GPolygon y el
GPolyline son muy configurables, tenemos las propiedades
DataSourceGPolygonBase y
DataSourceGPolylineBase a las que le daremos un GPolygon/GPolyline que actuará como template.
Para facilitar la tarea, se ha creado la clase "DataSourceField", en el que las propiedades tienen el mismo nombre que los valores por defecto de los campos o "Fields".
Como siempre, el ejemplo nos aclarará más ideas que la explicación.