Cómo empezar
La API de GeoEuskadi es un conjunto de scripts que ofrecen diferentes funcionalidades de interacción con un mapa.
Incluir la API de Geoeuskadi en una página es sencillo, aún así, requiere que el usuario tenga unos conocimientos básicos de HTML y Javascript. Para facilitar el proceso incial hemos elaborado una guía paso a paso.
Añadir el script de la API a nuestra página
El primer paso sería incluir la referencia al script de la API ubicado en los servidores de GeoEuskadi. Para ello usaremos la etiqueta script de HTML. Colocaremos dicha etiqueta dentro de la etiqueta body al final de la misma.
<script type="text/javascript" src="https://www.geo.euskadi.eus/bisorea/v4/API/ApiGeoEuskadi.js"></script>
Crear contenedor del mapa
El siguiente paso sería crear una capa HTML ( div ) con un identificador. Colocaremos esa capa en la parte de nuestra página que necesitemos, asignándole el tamaño que queramos para visualizar el mismo.
<div id="mi_mapa" style="width: 640px;height:500px" ></div>
Cargar funcionalidades de la API
Para empezar a usar las funciones primero debemos, usando javascript, cargar las funcionalidades. Para ello la API dispone de una función: loadAPIGeoEuskadi. Esta función recibe un objeto en el que le pasaremos la configuración inicial. Pasamos a listar los parámetros que podemos configurar de inicio:
Nombre parámetro | Descripción | Tipo |
---|---|---|
divMapa | El identificador de la capa (div) que se ha creado para contener el mapa | String |
showwidgets | Booleano que determina si se van a cargar, o no, todos los widgets del visor de GeoEuskadi por defecto. | Boolean |
capaBase | La capa base con la que se iniciará el visor. Los valores aceptados son: 'MapaGris', 'Ortofoto-cartografia', 'Ortofoto-hibrido', 'Ortofoto-orto' y 'Topografico' | String |
extensionInicial | Objeto que establece la zona sobre la que se centrará el mapa. Se trata de un objeto que establece un rectángulo de coordenadas. | Object |
Mostramos a continuación un ejemplo de llamada a dicha función al que establecemos la id de la capa, sin widgets, 'MapaGris' como base y una extensión inicial
loadAPIGeoEuskadi(
{
divMapa: 'mi_mapa',
showwidgets: false,
capaBase: 'MapaGris',
extensionInicial:
{
"xmax": 501594.2450753844,
"xmin": 501142.81374451244,
"ymax": 4796320.292256179,
"ymin": 4795914.069863429,
"wkid": 25830
}
})
Uso de las funcionalidades
Con la función loadAPIGeoEuskadi hemos cargado y configurado nuestro mapa con unos parámetros básicos. A partir de esa llamada podemos empezar a hacer uso de las funciones. loadAPIGeoEuskadi hace una carga asíncrona de todos los scripts necesarios para el visor y nos devuelve una Promise (Promesa) de javascript. Dentro de la cuál podremos ya hacer uso de la API cómo se muestra en el siguiente código:
loadAPIGeoEuskadi({divMapa: 'mi_mapa', showwidgets: false, capaBase: 'MapaGris', }).then(function(geoEuskadiAPI)
{
//Respuesta de la promesa
//Hacer uso de los métodos de la API a través del objeto 'geoEuskadiAPI'
var urlKml = "https://www.geo.euskadi.eus/bisorea/legend/Educacion/Centros%20Educativos/centros-educativos.kml";
geoEuskadiAPI.api.layers.addKMLLayer("KMLCentros", urlKml})
})
Aquí mostramos un código de un HTML completo que aglutina el código anteriormente mencionado:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Ejemplo</title>
</head>
<body>
<div id="mi_mapa" style="width: 640px;height:500px" ></div>
<script type="text/javascript" src="https://www.geo.euskadi.eus/bisorea/v4/API/ApiGeoEuskadi.js"></script>
<script type="text/javascript">
// Funcion de arranque de la aplicacion
function loadApp() {
loadAPIGeoEuskadi(
{
divMapa: 'mi_mapa',
showwidgets: false,
capaBase: 'MapaGris',
extensionInicial:
{
"xmin": 470491.9115040103,
"ymin": 4726457.403240426,
"xmax": 613002.3933885915,
"ymax": 4816436.186627009,
"wkid": 25830
}
}).then(function(geoEuskadiAPI)
{
//Respuesta de la promesa
//Hacer uso de los métodos de la API a través del objeto 'geoEuskadiAPI'
geoEuskadiAPI.api.layers.addKMLLayer(
"Hoteles",
"https://www.geo.euskadi.eus/bisorea/v3/demos/ficheros_datos/hoteles.kml"
);
})
}
loadApp();
</script>
</body>
</html>
Como resultado obtendríamos en nuestra página un mapa cómo el siguiente
Ahora que sabemos cómo incluir la API en nuestra página puedes consultar las funcionalidades que te ofrece aquí para añadir contenidos y funcionalidades al mapa.
Nola Hasi
GeoEuskadi API-a maparekin komunikatzeko script multzo bat da
API-a txertatzea oso erraza da baina, hala ere, javascript eta HTML ezagutza minimo bat behar da burutzeko. Lehenengo pausuak errazteko gida hau eratu da.
API-aren scripta gure web-orrian txertatu
Lehenengo pausua Geoeuskadi zerbitzarietan kokatuta dagoen scripta gehitzea da. Scriptaren erreferentzia body etiketaren barneko azken lerroetan kokatu behar da.
<script type="text/javascript" src="https://www.geo.euskadi.eus/bisorea/v4/API/ApiGeoEuskadi.js"></script>
Maparen edukiontzia sortu
Hurrengo pausua identifikadorea duen HTML geruza bat (div) sortzea izango da. Geruza hau behar dugun lekuan kokatuko dugu gure web-orriaren barruan eta behar dugun tamaina esleituko diogu.
<div id="mi_mapa" style="width: 640px;height:500px" ></div>
API-aren funtzionalitateak kargatu
Funtzioak erabiltzen hasteko javascript bidez API-aren modulua kargatu behar dugu. Horretarako funtzio bat daukagu eskuragarri: loadAPIGeoEuskadi. Funtzio hau konfigurazio objektu bat jasotzen du parametro gisa. Objektu honen barneko atributuak hurrengoak dira:
Parametro izena | Deskribapena | Mota |
---|---|---|
divMapa | Mapa edukiko duen geruzaren (div) identifikadorea. | String |
showwidgets | Geoeuskadi bisorearen widget guztiak kargatuko diren edo ez zehazten duen balore boolearra. | Boolean |
capaBase | Bisorea hasieratzean kargatuko den oinarri-geruza. Balore posibleak: 'MapaGris', 'Ortofoto-cartografia', 'Ortofoto-hibrido', 'Ortofoto-orto' eta 'Topografico' | String |
extensionInicial | Mapan hasiera batetan erakutsiko den zonaldea zehazten du. Objektu hau zoom egiteko koordenatuen laukizuzen bat adierazten du. | Object |
Orain funtzioaren deitze adibide bat ipiniko da. Bertan mapa kargatzen da, html geruzaren id-a adieraziz, 'MapaGris' oinarri geruzarekin, widget barik eta hasiera estentsio batekin:
loadAPIGeoEuskadi(
{
divMapa: 'mi_mapa',
showwidgets: false,
capaBase: 'MapaGris',
extensionInicial:
{
"xmax": 501594.2450753844,
"xmin": 501142.81374451244,
"ymax": 4796320.292256179,
"ymin": 4795914.069863429,
"wkid": 25830
}
})
Funtzionalitateen erabilera
loadAPIGeoEuskadi funtzioarekin mapa kargatu da oinarrizko konfigurazio batekin. Funtzio honen bitartez API-aren metodo guztiak erabiltzen hasi gaitezke. loadAPIGeoEuskadi beste script multzo batzuen karga asinkronoa egin eta javascript promes (Promise) bat bueltatzen du. Promes honen barruan funtzio guztiak eskuragarri daude. Honen adibide kode bat:
loadAPIGeoEuskadi({divMapa: 'mi_mapa', showwidgets: false, capaBase: 'MapaGris', }).then(function(geoEuskadiAPI)
{
//Promesaren erantzuna
//API-aren metodoak erabili 'geoEuskadiAPI' objektuaren bidez
var urlKml = "https://www.geo.euskadi.eus/bisorea/legend/Educacion/Centros%20Educativos/centros-educativos.kml";
geoEuskadiAPI.api.layers.addKMLLayer("KMLCentros", urlKml})
})
Azkenik kode guztia bateratzen duen adibide bat eraiki da:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Adibidea</title>
</head>
<body>
<div id="mi_mapa" style="width: 640px;height:500px" ></div>
<script type="text/javascript" src="https://www.geo.euskadi.eus/bisorea/v4/API/ApiGeoEuskadi.js"></script>
<script type="text/javascript">
//Aplikazio hasiera funtzioa
function loadApp() {
loadAPIGeoEuskadi(
{
divMapa: 'mi_mapa',
showwidgets: false,
capaBase: 'MapaGris',
extensionInicial:
{
"xmin": 470491.9115040103,
"ymin": 4726457.403240426,
"xmax": 613002.3933885915,
"ymax": 4816436.186627009,
"wkid": 25830
}
}).then(function(geoEuskadiAPI)
{
//Promesaren erantzuna
//API-aren metodoak erabili 'geoEuskadiAPI' objektuaren bidez
geoEuskadiAPI.api.layers.addKMLLayer(
"Hoteles",
"https://www.geo.euskadi.eus/bisorea/v3/demos/ficheros_datos/hoteles.kml"
);
})
}
loadApp();
</script>
</body>
</html>
Kode honen emaitza hurrengo mapa gure web-orrian kargatzea izango da:
Behin API-a gure proiektuan kargatzen ikasita, eskaintzen dituen funtzionalitateak kontsulta dezakezu hemen