Mapa con marcadores hardcodeados
This commit is contained in:
commit
1a528d7094
|
@ -0,0 +1,12 @@
|
|||
# Ollas
|
||||
|
||||
Localización de ollas populares en Montevideo durante la pandemia de SARS-Cov-2.
|
||||
|
||||
### El mail que le iba a mandar a Félix explicando esto
|
||||
|
||||
No me da para hacer mucho, pero me dio para hacer es un mapita que le podés agregar marcadores hardcodeados. Te puede servir si conseguís a alguien que le den las bolas de diseñar la página y agregar los marcadores que correspondan.
|
||||
|
||||
Son solo dos archivos estáticos (index.html y scripts.js). Para agregar un marcador lo que hay que hacer es repetir el enunciado de la línea 12 de scripts.js por cada marcador, actualizando los datos.
|
||||
Usa OpenStreetMap pero consume de un servicio llamado MapBox que ni idea si es malvado o qué. La librería para hacer lo del mapa se llama Leaflet; si querés modificar algo tenés la documentación acá https://leafletjs.com/
|
||||
|
||||
Cualquier cosa llamame.
|
|
@ -0,0 +1,29 @@
|
|||
<!doctype html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<title>Mapa de ollas populares de Montevideo</title>
|
||||
<meta name="description" content="Mapa de ollas populares de Montevideo">
|
||||
<meta name="author" content="SitePoint">
|
||||
|
||||
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.6.0/dist/leaflet.css"
|
||||
integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ=="
|
||||
crossorigin=""
|
||||
/>
|
||||
<style>
|
||||
#mapid { height: 1000px; }
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="mapid"></div>
|
||||
|
||||
<!-- Make sure you put this AFTER Leaflet's CSS -->
|
||||
<script src="https://unpkg.com/leaflet@1.6.0/dist/leaflet.js"
|
||||
integrity="sha512-gZwIG9x3wUXg2hdXF6+rVkLF/0Vi9U8D2Ntg4Ga5I5BZpVkVxlJWbSQtXPSiUTtC0TjtGOmxa1AJPuV0CPthew=="
|
||||
crossorigin=""></script>
|
||||
<script src="scripts.js"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,47 @@
|
|||
const mymap = L.map('mapid').setView([-34.85832705399524, -56.15180969238282], 11);
|
||||
L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
|
||||
attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
|
||||
maxZoom: 18,
|
||||
id: 'mapbox/streets-v11',
|
||||
tileSize: 512,
|
||||
zoomOffset: -1,
|
||||
accessToken: 'pk.eyJ1IjoicGRhY29zdGFwb3J0byIsImEiOiJjazhhcGc2dTUwMGcxM2Z0N2l3ZXdseDFnIn0.N1PfH0sCB1Mij9a4QZkeNQ'
|
||||
}).addTo(mymap);
|
||||
|
||||
// Copiar el siguiente enunciado por cada marcador que se quiera agregar, actualizando los parámetros.
|
||||
addMarker(
|
||||
mymap,
|
||||
-34.899792,
|
||||
-56.180340,
|
||||
'Paysandú y Gaboto (Plaza Acción Directa)',
|
||||
'Domingo 29/3 - 16hs',
|
||||
'Traete el plato y ganas de compartir'
|
||||
);
|
||||
|
||||
/**
|
||||
* Agrega un marcador a un mapa.
|
||||
*
|
||||
* map: El mapa al cual agregar el marcador.
|
||||
* latitude: La latitud del punto a marcar.
|
||||
* longitude: La longitud del punto a marcar.
|
||||
* address: Texto indicando la dirección del evento.
|
||||
* datetime: Texto indicando fecha y hora del evento.
|
||||
* info: Información adicional del evento.
|
||||
*/
|
||||
function addMarker(map, latitude, longitude, address, datetime, info) {
|
||||
L.marker([latitude, longitude], {title: address})
|
||||
.bindPopup(popupMarkup(address, datetime, info))
|
||||
.addTo(map);
|
||||
}
|
||||
|
||||
/**
|
||||
* Construye el HTML de un popup de un marcador con información sobre el evento.
|
||||
*
|
||||
* address: Texto indicando la dirección del evento.
|
||||
* datetime: Texto indicando fecha y hora del evento.
|
||||
* info: Información adicional del evento.
|
||||
*/
|
||||
function popupMarkup(address, datetime, info) {
|
||||
const mandatory = `<h4>${address}</h4><b>Fecha:</b> ${datetime}`;
|
||||
return info ? mandatory + `</br>${info}` : mandatory;
|
||||
}
|
Loading…
Reference in New Issue