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.
- 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>
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>
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.
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 |
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
- 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);
});
const map = M.map({
container: 'map'
});
const mp = new M.plugin.IGNSearchLocator({
servicesToSearch: 'gn',
maxResults: 10,
isCollapsed: false,
});
map.addPlugin(mp);
Para el stack de desarrollo de este componente se ha utilizado
- NodeJS Version: 14.16
- NPM Version: 6.14.11
- Entorno Windows.
Para descargar el repositorio en otro equipo lo clonamos:
git clone [URL del repositorio]
npm i
npm run start
/
├── src 📦 # Código fuente
├── task 📁 # EndPoints
├── test 📁 # Testing
├── webpack-config 📁 # Webpack configs
└── ...
Metodologías y herramientas usadas en el proyecto para garantizar el Quality Assurance Code (QAC)
- ESLint
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