GeoCoding 2
Un modo extremadamente sencillo de ofrecer geocoding es simplemente usando la "GoogleBar" que GoogleMaps ofrece. Una vez activado, no hay más que hacer clic sobre la lupa situada al lado del icono de Google que aparece en el mapa.
Tan solo hay que añadir la GGoogleBarOptions al mapa y usar las propiedades que se requieran:
- showOnLoad: Indica si se despliega el cuadro de text de búsqueda. Por defecto está desactivado.
- linkTarget: Indica el "Target" de los enlaces mostrados al hacer la búsqueda. Por defecto el target es "_Blank".
- resultList: Indica cómo se muestran los resultados de la búsqueda. G_GOOGLE_BAR_RESULT_LIST_INLINE (por defecto) las muestra en una tabla y G_GOOGLE_BAR_RESULT_LIST_SUPPRESS muestra sólo una con los botones de "anterior - siguiente".
- suppressInitialResultSelection: Si está activado (y lo está por defecto) no muestra el primer resultado en el mapa.
- suppressZoomToBounds: desactiva el comportamiento por defecto de acercarse a los resultados.
- onIdleCallback: Define una función que se ejecutará cuando la búsqueda no devuelve resultados.
- onSearchCompleteCallback: Define una función que se ejecutará cuando la búsqueda devuelve resultados. Se ejecuta antes de mostrar los resultados en pantalla.
- onGenerateMarkerHtmlCallback: Función que se ejecuta cuando se va a abrir el infowindow con los resultados. Los atributos que debe tener la función (por orden) son: un GMarker, el string HTML generado, y un GlocalSearchResult, y debe devolver un string HTML que se mostrará en el info window.
- onMarkersSetCallback: función que será llamada cuando se termine la creación de los markers en el mapa. La función tendrás los atributos de la siguiente forma: {result: GlocalSearch, marker: GMarker}.
Code.aspx
<cc1:GMap ID="GMap1" runat="server" />
Code.aspx.cs
GGoogleBarOptions googleBarOptions = new GGoogleBarOptions();
googleBarOptions.showOnLoad = true;
googleBarOptions.resultList = GGoogleBarResultListEnum.supress;
googleBarOptions.linkTarget = GGoogleBarLinkTargetEnum._blank;
googleBarOptions.onSearchCompleteCallback = "alert('onSearchCompleteCallback');";
googleBarOptions.onMarkersSetCallback = "alert('onMarkersSetCallback');";
GMap1.Add(googleBarOptions);