GIS 4

Presentación y novedades

La versión 4 de GIS abandona la librería Mapstraction para adoptar Leaflet. Esta librería permite librarse de las librerías propietarias sin perder ningunas funcionalidad, hasta propone nuevas funciones.

Esta nueva versión de GIS permite usar varios fondos de mapa sin tener que cargar scripts externos, solo los scripts locales de Leaflet y unos plugins necesarios están cargados en sus páginas. Hoy en día, el plugin ofrece más de 25 capas de fond de mapa diferentes. La mayoría de estas capas son basadas en datos en licencia libre o Creative Commons. Sin embargo, si lo desea, sigue posible usar las capas de Google [1] y el fondo satelital de Bing.

La actualización no implica rupturas de compatibilidad mayores. Sólo algunos parámetros fueron suprimidos del modelo que maneja la visualización de los mapas : control_zoom ; control_pan ; overview ; ajaxload.

Instalación y configuración

Este plugin necesita el plugin Saisies y la librería externa leaflet-gis disponible en github. Este paquete provee los siguientes elementos : Leaflet, Leaflet plugins, Leaflet providers, Leaflet fullscreen.

Al activar GIS, SPIP ofrece que se recupere automáticamente la librería en su carpeta /lib ubicada a la raíz de su sitio (acordarse de crear esta carpeta si no existe a la hora de instalar).

Una vez instalado, el plugin se puede configurar desde el menú « Configurar > GIS » o por la dirección ecrire/?exec=configurer_gis :

Esta página permite definir las siguientes opciones :

  • Coordenadas y zoom por omisión a usar en los mapas ;
  • Capa de fondo de mapa visible por omisión y lista de las capas disponibles ;
  • Mostrar los campos de dirección en los formularios de edición de puntos ;
  • Lista de objetos asociables con puntos GIS.

Utilización en el espacio privado

El plugin añade un bloque sobre las páginas de los elementos de SPIP en el espacio privado. Este bloque se despliega al pasar con el ratón. Los vínculos ubicados al principio del bloque desplegado permiten pasar de un panel al otro :

  • Puntos asociados muestra la lista puntos asociados al objeto corriente con la posibilidad de disociar o borrar cada punto ;
  • Buscar un punto muestra un formulario para buscar un punto existente y asociarlo al objeto corriente ;
  • Asociar un nuevo punto muestra el formulario de edición de punto para crear uno nuevo y asociarlo al objeto corriente.

Una página de gestión de los puntos del sitio es accesible desde el menú Edición > Puntos geolocalizados.

Desde esta página, puede acceder a la ficha de edición de cada punto para modificar sus coordenadas, sus campos de dirección o su logo.

Usar el modelo para insertar mapas en sus páginas

Para insertar un mapa en un esqueleto, utilice el modelo proveído por el plugin insertando el código siguiente en el lugar donde quiere mostrar el mapa :

[(#MODELE{carte_gis, zoom=8, limit=100, scale=oui})]

También puede usar el modelo proveído por el plugin para mostrar el mapa desde el contenido de un artículo. Para realizarlo, sólo se tiene que añadir este código en el texto de su artículo :

<carte_gis1|zoom=8|limit=100|scale=oui>

Leer la documentación sobre los modelos en spip.net.

OjO : un bug de SPIP puede provocar comportamientos indeseables en la utilización del modelo desde el texto de un artículo, una sección, etc. En efecto, desde la versión 3.0, SPIP pasa de manera automática todos los parámetros del entorno a los modelos incluídos en el texto. Puede ser un problema para los modelos que contienen parámetros opcionales, como ser el modelo de mapa de GIS.

Parámetros del modelo

parámetro valor
id_carte_gis / id_map identificador único del mapa (a definir si varios mapas estan incluídos en la misma página)
lat = 48.3 latitud del centro del mapa
lon = -4.7 longitud del centro del mapa
zoom = 5 nivel de zoom del mapa
sw_lat, sw_lon, ne_lat, ne_lon coordenadas de las esquinas de la extensión espacial
width = 100% anchura del mapa, 100% por omisión
height = 400px altura del mapa, 400px por omisión
style = non no dar estilo CSS al mapa
zoom_molette / zoom_wheel = non desactivar el zoom con la rueda del ratón, activado por omisión
fullscreen = oui añadir un botón para mostrar el mapa en pantalla completa
control_type = non no mostrar los controles de cambio de tipo
no_control / aucun_controle = oui no mostrar los controles del mapa
scale = oui mostrar la escala del mapa
limit = 500 número máximo de marcadores que mostrar, 500 por omisión
objets = gis tipo de objetos que mostrar (archivo json/gis_xx que genera la fuente de datos)
autocenterandzoom / centrer_auto = oui centrar y acercarse automáticamente para mostrar todos los marcadores
kml = 12 archivo kml a sobreponer al mapa (id_document o url)
gpx = 12 archivo gpx a sobreponer al mapa (id_document o url)
localize_visitor / localiser_visiteur = oui centrar el mapa sobre la posición del visitante (API de geolocalización HTML5)
point = non si vale « non », esta opción no mostrará ningún punto (útil para mostrar sólamente un kml, por ejemplo)

El parámetro objets

Este parámetro le permite especificar qué tipo de objeto desea mostrar sobre el mapa. Puede tomar los valores siguientes : gis (valor por omisión), articles (artículos), auteurs (autores), documents (documentos), evenements (eventos), mots (palabras-clave), rubriques (secciones), sites (sitios).

Si el parámetro « objets » vale « articles », puede utilizar como parámetros del modelo todos los criterios utilizables sobre un bucle ARTICLES.

Desde un punto de vista técnico, el parámetro objets permite definir cuál esqueleto se usará para generar los datos JSON que alimentarán el mapa. Cuando el parámetro « objets » vale « auteurs », se usa el esqueleto plugins/gis/json/gis_auteurs.html.

Algunos ejemplos de mapas

Mostrar los artículos de la sección #2 y superponer el KML correspondiendo al documento #2 :

[(#INCLURE{fond=modeles/carte_gis,
	objets=articles,
	id_rubrique=2,
	zoom=7,
	lat=48.214378965824345,
	lon=-4.543704986572266,
	kml=2})]

Mostrar el o los puntos asociados al artículo #2 y centrar el mapa automáticamente para mostrar todos los puntos :

[(#INCLURE{fond=modeles/carte_gis,
	autocenterandzoom=oui,
	id_article=2})]

Mostrar los puntos asociados a los artículos del autor #1 :

[(#INCLURE{fond=modeles/carte_gis,
	objets=articles,
	id_auteur=1,
	zoom=5})]

Mostrar los autores del sitio :

[(#INCLURE{fond=modeles/carte_gis,
	objets=auteurs,
	zoom=5})]

Bucles y balizas

La lista de las balizas disponibles en un bucle GIS es la siguiente : #ID_GIS (identificador), #TITRE (título), #DESCRIPTIF (descriptivo), #LAT (latitud), #LON (longitud), #ZOOM (zoom).

Si activó el geocoder o llenó los campos de dirección manualmente : #ADRESSE (dirección), #PAYS (país), #CODE_PAYS (código país), #REGION (región), #VILLE (ciudad), #CODE_POSTAL (código postal).

Criterio gis

El criterio {gis} permite forzar la juntura sobre la tabla GIS en los bucles de los otros objetos. Así, un bucle ARTICLE que contiene el criterio {gis} mostrará sólamente los artículos asociados a un punto.

Las informaciones de este punto podrán ser mostradas con las balizas siguientes :#TITRE_GIS y #DESCRIPTIF_GIS, #ADRESSE_GIS, #PAYS_GIS, #CODE_PAYS_GIS, #REGION_GIS, #VILLE_GIS, #CODE_POSTAL_GIS.

Nota : las balizas tienen el sufijo GIS para evitar cualquier problema de campo homónimo con otro plugin.

<BOUCLE_gis(ARTICLES){gis}{id_rubrique ?}>
#ID_GIS - #LAT - #LON - #ZOOM <br/>
Título del artículo: #TITRE <br />
Descriptivo del artículo: #DESCRIPTIF <br />
Título del punto: #TITRE_GIS <br />
Descriptivo del punto: #DESCRIPTIF_GIS <br />
</BOUCLE_gis>

Criterio distancia

El criterio {gis distance<XX} permite filtrar los resultados de un bucle GIS según la distancia (en kilómetros) del punto presente en el entorno.

Por ejemplo, para listar los puntos ubicados a menos de 50 kilómetros del punto #1 :

<BOUCLE_m(GIS){id_gis=1}>
<p>#TITRE / #LAT / #LON</p>
<BOUCLE_b(GIS){gis distance<50}>
<p>#ID_GIS / #TITRE / #DISTANCE km</p>
</BOUCLE_b>

Formulario de edición de punto

El formulario #FORMULAIRE_EDITER_GIS permite crear o modificar un punto. Se puede utilizar en los esqueletos con la sintaxis siguiente :

#FORMULAIRE_EDITER_GIS{id_gis, objet, id_objet, retour}

Definición de los parámetros del formulario :

  • id_gis : identificador del punto o vacío para crear un nuevo punto
  • objet : el tipo de objeto asociado al punto
  • id_objet : id_objet del objeto asociado al punto
  • retour : url de la página de retorno hacia dónde el formulario redireccionará después de la validación

Por ejemplo, el extracto de código siguiente permite modificar el punto asociado a un artículo o crear uno nuevo si ninguno está asociado todavía.

<BOUCLE_unpoint(GIS){id_article}{0,1}>
#SET{id_gis,#ID_GIS}
</BOUCLE_unpoint>
#SET{id_gis,nouveau}
<//B_unpoint>
#FORMULAIRE_EDITER_GIS{#GET{id_gis},'article',#ID_ARTICLE,#URL_ARTICLE}

Customización

Icono por omisión de los marcadores

Es posible definir un icono por omisión para los marcadores de los mapas. Sólo se tiene que depositar la imagen de su icono personalizado en la carpeta squelettes :

squelettes/images/marker_defaut.png

El icono usado por omisión en GIS es una imagen de 24x32 píxeles.

Notes

[1En este caso el plugin añadirá las peticiones hacia los scripts de Google en sus páginas con el fin de respetar las condiciones de utilización restrictivas de este proveedor.

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom