= Geoposición (varios puntos) = == Generación del mapa == Para mostrar varios puntos puntos geoposicionados y clusterizados en una página primero tenemos que añadir todo el código Javascript necesario para mostrarlo. Esto se realiza añadiendo el siguiente tag a la página: {{{ }}} "ES" se utiliza para indicar que todo está en castellano (Botones, nombres de ciudades, búsquedas, ...) Los puntos se mostrarán en un mapa, y para ellos deberemos crear un "DIV" en la página con las medidas que consideremos. Este div tiene que tener un ID único. Ejemplo: {{{
}}} Antes de poder mostrar los puntos en el mapa tenemos que instanciarlo. Antes de crear una instancia de un mapa se pueden proporcionar unos parámetros opcionales. Para establacer estos parámetros usaremos la siguiente función: {{{ }}} Los parámetros opcionales son los siguientes * zoom: (entero) nivel de zoom que queremos mostrar en el mapa (1 .. 12). * lat: (real) latitud del centro del mapa. Si no se establece se pondrá la Latitud de Madrid * lon: (real) longitud del centro del mapa. Si no se establece se pondrá la Longitud de Madrid * autoPosition: (0 | 1) indica si el mapa va a tratar de centrars basándose e en la posición del usuario (html5). * url: (string) URL donde se optienen los puntos. Por defecto se establece: 'http://127.0.0.1/cgi-bin/syncGeoPos/getPoints.pl' * defaultIcon: (string) URL del icono por defecto de un punto. Si no se establece será: '/images/ico_confesion/default.png' * getIcon: (function(point)) Nombre de la funcion javascript encargada de devolver el icono basándose en el punto proporcionado. Si no se establece se genera el icono por defecto. * getMarkerInfo: (function(point)) Nombre de la funcion javascript encargada de devolver e HTML de información de un icono. * gotoBig: (function(point)) Nombre de la funcion javascript encargada de realizar alguna acción al pulsar en un punto. * gotoBigCaption: (string) Texto que se mostrará en un icono, se esta establecida la funcion gotoBig. Por defecto es: 'Pulsa para ampliar' Para resetear los parámetros opcioneles de un mapa se usa la siguiente función: {{{ }}} Cada instancia del mapa tienen unas opciones mediante el siguiente tag: {{{ }}} Todos los parámetros son obligatorios y son los siguientes: * instanceName: (string) nombre de la instancia. * divId: (string) El el div que mostrará el mapa * service_id: (entero) service_id * class_id: (entero) class_id Ejemplo completo un punto: {{{
}}} Ejemplo completo con funciones específicas para los iconos y los mensajes: {{{
}}} == Obtención de datos == Una vez instanciado un mapa podemos hacer "queries" al servidor para obtener una lista de los distintos valores de un atributo de los puntos. Un ejemplo sería obtener las distintas Comunidades Autonomas en las que se encuentran los puntos: {{{ // Obtiene las distintas comunidades autonomas // En este caso el nombre de la instancia del mapa es "samplemap" function getAllCCAA() { samplemap.emptyAllQueryFilters(); samplemap.getDistinctValues("extradata.ccaa", function(res) { var options = ''; for (var i = 0; i < res.length; i++) { aValues = res[i].split("|"); if (aValues.length > 1) options += ''; } $("select#ccaa").html(options); }); } }}} Tambien se puede establecer algún filtro. Vemos como ser buscarían las distintas provincias de una comunidad autónoma: {{{ // Obtiene las provincias de una comunidad autonoma function getAllProvincias(iCCAA) { if (iCCAA != "") { samplemap.emptyAllQueryFilters(); samplemap.setQueryFilter("extradata.ccaa", "bw", iCCAA + "\\|"); samplemap.getDistinctValues("extradata.provincia", function(res) { var options = ''; for (var i = 0; i < res.length; i++) { aValues = res[i].split("|"); if (aValues.length > 1) { sProvincia = aValues[1].split(",")[0]; options += ''; } } $("select#provincia").html(options); }); } else { $("select#provincia").html(""); } } }}}