Skip to content

Latest commit

 

History

History
324 lines (276 loc) · 10.9 KB

File metadata and controls

324 lines (276 loc) · 10.9 KB

APICNIG 🔌 M.plugin.IGNSearchLocator

Descripción

Plugin que permite la búsqueda de Direcciones postales (Geocoder de Cartociudad) y Topónimos (Nomenclátor del IGN), también permite localizar coordenadas en varios SRS.

Dependencias

  • ignsearchlocator.ol.min.js
  • ignsearchlocator.ol.min.css
 <link href="https://componentes.cnig.es/api-core/plugins/ignsearchlocator/ignsearchlocator.ol.min.css" rel="stylesheet" />
 <script type="text/javascript" src="https://componentes.cnig.es/api-core/plugins/ignsearchlocator/ignsearchlocator.ol.min.js"></script>

Uso del histórico de versiones

Existe un histórico de versiones de todos los plugins de API-CNIG en api-ign-legacy para hacer uso de versiones anteriores. Ejemplo:

 <link href="https://componentes.cnig.es/api-core/plugins/ignsearchlocator/ignsearchlocator-1.0.0.ol.min.css" rel="stylesheet" />
 <script type="text/javascript" src="https://componentes.cnig.es/api-core/plugins/ignsearchlocator/ignsearchlocator-1.0.0.ol.min.js"></script>

Parámetros

El constructor se inicializa con un JSON de options con los siguientes atributos:

  • position: Indica la posición donde se mostrará el plugin.
    • 'TL': (top left) - Arriba a la izquierda (por defecto).
    • 'TR': (top right) - Arriba a la derecha.
    • 'BL': (bottom left) - Abajo a la izquierda.
    • 'BR': (bottom right) - Abajo a la derecha.
  • isCollapsed: Indica si el plugin viene colapsado de entrada (true/false). Por defecto: false.
  • collapsible: Indica si el plugin puede abrirse y cerrarse (true) o si permanece siempre abierto (false). Por defecto: false.
  • tooltip: Tooltip que se muestra sobre el plugin (se muestra al dejar el ratón encima del plugin como información).
  • zoom: Zoom que aplicará al mostrar resultado de tipo puntual. Por defecto: 16.
  • servicesToSearch: Servicio que se consulta:
    • 'g': Consulta Geocoder.
    • 'n': Consulta Topónimos.
    • 'gn' : Consulta Geocoder y Topónimos (por defecto).
  • maxResults: Número de resultados en la consulta (10 por defecto).
  • noProcess: En geocoder, indica las entidades que no se incluirán en los resultados.
    • Admite combinación de 'municipio,poblacion,toponimo'.
    • Por defecto: 'poblacion'.
  • countryCode: Código por defecto del país en la petición a geocoder. Por defecto: countryCode = 'es'.
  • reverse: Valor booleano que indica si la funcionalidad obtener dirección en un punto del mapa está activada.
    • true (por defecto).
    • false.
  • cadastre: Valor booleano que indica si la funcionalidad buscar parcela/catastro está activada.
    • true (por defecto).
    • false.
  • searchCoordinatesXYZ: Valor booleano que indica si la funcionalidad buscar por coordenadas está activada.
    • true (por defecto).
    • false.
  • resultVisibility: Indica si se muestra o no la geometría del elemento localizado. Por defecto: true.
  • urlCandidates: Url servicio candidates de geocoder. Por defecto: 'http://www.cartociudad.es/geocoder/api/geocoder/candidatesJsonp'.
  • urlFind: Url servicio find de geocoder. Por defecto: 'http://www.cartociudad.es/geocoder/api/geocoder/findJsonp'.
  • urlReverse: Url Servicio geocoding inverso. Por defecto: 'http://www.cartociudad.es/geocoder/api/geocoder/reverseGeocode'.
  • urlPrefix: Prefijo source servicio Nomenclátor. Por defecto: 'http://www.idee.es/'.
  • urlAssistant: Url servicio SearchAssitant de Nomenclátor. Por defecto: 'https://www.idee.es/communicationsPoolServlet/SearchAssistant'.
  • urlDispatcher: Url servicio Dispatcher de Nomenclátor. Por defecto: 'https://www.idee.es/communicationsPoolServlet/Dispatcher'.
  • CMC_url: Url servicio para la consulta de municipios de una provincia. Por defecto: 'http://ovc.catastro.meh.es/ovcservweb/OVCSWLocalizacionRC/OVCCallejeroCodigos.asmx/ConsultaMunicipioCodigos'.
  • DNPPP_url: Url servicio para la consulta de datos no protegidos para un inmueble por su polígono parcela. Por defecto: 'http://ovc.catastro.meh.es/ovcservweb/OVCSWLocalizacionRC/OVCCallejeroCodigos.asmx/Consulta_DNPPP_Codigos'.
  • CPMRC_url: Url servicio para consulta de coordenadas por Provincia, Municipio y Referencia Catastral. Por defecto: 'http://ovc.catastro.meh.es/ovcservweb/OVCSWLocalizacionRC/OVCCoordenadas.asmx/Consulta_CPMRC'.
  • catastroWMS: Url servicio para la consulta por referencia catastral. Por defecto: 'http://ovc.catastro.meh.es/ovcservweb/OVCSWLocalizacionRC/OVCCoordenadas.asmx/Consulta_RCCOOR'.
  • pointStyle: Tipo de icono a mostar cuando se encuentra un resultado de tipo puntual. Por defecto: 'pinBlanco'.
  • help: URL de ayuda.
  • searchPosition: Orden de resultados de las dos búsquedas. Por defecto: 'nomenclator,geocoder'.
  • locationID: Búsqueda inicial en el servicio nomenclátor por ID, muestra el resultado y se realiza un zoom a la posición.
  • geocoderCoords: Búsqueda inicial en el servicio geocoder por longitud, latitud.
  • requestStreet: URL del findJSON de un resultado de búsqueda, para que aparezca cargado al inicio.

API-REST

URL_API?ignsearchlocator=position*collapsible*isCollapsed*tooltip*servicesToSearch*maxResults*noProcess*resultVisibility
*reverse*requestStreet*locationID*geocoderCoords*zoom*searchPosition*pointStyle*help*countryCode*cadastre
*searchCoordinatesXYZ*urlCandidates*urlFind*urlReverse*urlPrefix*urlAssistant*urlDispatcher*CMC_url*DNPPP_url
*CPMRC_url*catastroWMS
Parámetros Opciones/Descripción
position TR/TL/BR/BL
collapsible true/false
isCollapsed true/false
tooltip Texo informativo
servicesToSearch g/n/gn
maxResults Número de resultados
noProcess municipio/poblacion/toponimo (admite combinación separado por ',')
resultVisibility true/false
reverse true/false
requestStreet URL findJSON de un resultado
locationID Búsqueda inicial en nomenclátor
Búsqueda inicial en geocoder TR/TL/BR/BL
zoom Nivel de zoom al resultado
searchPosition nomenclator,geocoder/geocoder,nomenclator
pointStyle pinBlanco/pinRojo/pinMorado
help URL ayuda
countryCode Código país para geocoder
cadastre true/false
searchCoordinatesXYZ true/false
urlCandidates URL candidares geocoder
urlFind TR/TL/BR/BL
urlReverse URL geocoding inverso/td>
urlPrefix Prefijo source nomenclátor
urlAssistant URL SearchAssitant nomenclátor
urlDispatcher URL Dispatcher nomenclátor
CMC_url URL consulta municipios
DNPPP_url URL consulta datos no protegidos
CPMRC_url URL consulta coordenadas por provincia
catastroWMS URL consulta por referencia catastral

Ejemplos de uso API-REST

https://componentes.cnig.es/api-core?ignsearchlocator=TL*true*false*IGNSEARCHLOCATOR*gn*10*poblacion*true*false*https%3A%2F%2Fwww.cartociudad.es%2Fgeocoder%2Fapi%2Fgeocoder%2FfindJsonp%3Fq%3D%3Cspan%2520id%3D%22info%22%3EC%C3%A1ceres%2C%2520C%C3%A1ceres%3C%2Fspan%3E%2520%26type%3DMunicipio%26tip_via%3Dnull%26id%3D10037
https://componentes.cnig.es/api-core?ignsearchlocator=TL*true*false*IGNSEARCHLOCATOR*gn*10*poblacion*true*false**ES.IGN.NGBE.2814868
https://componentes.cnig.es/api-core?ignsearchlocator=TL*true*false*IGNSEARCHLOCATOR*gn*10*poblacion*true*false***-5.98351886687987,37.39136733122602

Eventos

  • ignsearchlocator:entityFound
    • Evento que se dispara cuando se ha localizado la búsqueda del plugin sobre el mapa.
    • Expone, como parámetro devuelto, el extent actual calculado en la búsqueda
pluginignsearchlocator.on('ignsearchlocator:entityFound', (extent) => {
  // eslint-disable-next-line no-alert
  window.alert('Encontrado');
});
  • ignsearchlocator:locationCentered
    • Evento que se dispara cuando se realiza una búsqueda por coordenadas.
    • Expone, como parámetro devuelto, el zoom y el center donde se encuentra el resultado.
pluginignsearchlocator.on('xylocator:locationCentered', (result) => {
  console.log(response.center);
  console.log(response.zoom);
});

Ejemplo de uso

   const map = M.map({
     container: 'map'
   });

   const mp = new M.plugin.IGNSearchLocator({
        servicesToSearch: 'gn',
        maxResults: 10,
        isCollapsed: false,
      });

   map.addPlugin(mp);

👨‍💻 Desarrollo

Para el stack de desarrollo de este componente se ha utilizado

  • NodeJS Version: 14.16
  • NPM Version: 6.14.11
  • Entorno Windows.

📐 Configuración del stack de desarrollo / Work setup

🐑 Clonar el repositorio / Cloning repository

Para descargar el repositorio en otro equipo lo clonamos:

git clone [URL del repositorio]

1️⃣ Instalación de dependencias / Install Dependencies

npm i

2️⃣ Arranque del servidor de desarrollo / Run Application

npm run start

📂 Estructura del código / Code scaffolding

/
├── src 📦                  # Código fuente
├── task 📁                 # EndPoints
├── test 📁                 # Testing
├── webpack-config 📁       # Webpack configs
└── ...

📌 Metodologías y pautas de desarrollo / Methodologies and Guidelines

Metodologías y herramientas usadas en el proyecto para garantizar el Quality Assurance Code (QAC)

⛽️ Revisión e instalación de dependencias / Review and Update Dependencies

Para la revisión y actualización de las dependencias de los paquetes npm es necesario instalar de manera global el paquete/ módulo "npm-check-updates".

# Install and Run
$npm i -g npm-check-updates
$ncu