3 votos

Mapas a gran escala con Leaflet, ¿cómo?

Tengo un mapa/dibujo arquitectónico de dos plantas de un enorme edificio con muchas habitaciones. Ahora me gustaría hacer un mapa interactivo utilizando preferentemente Leaflet que muestre todas las habitaciones y utilice marcadores/polígonos que muestren lo que ocurre en cada habitación y quién está sentado dónde, etc. Estos marcadores deberían ser fácilmente editables.

¿Alguien tiene alguna idea de cómo hacer que esto suceda? Primero estaba pensando en fingir que la casa cubre todo el mundo y luego usar el mercador web estándar con generate_tiles.py .

Otra idea es utilizar zoomify junto con Leaflet .

El problema con ambos métodos es que es difícil obtener coordenadas correctas. Lo mejor sería utilizar algún tipo de proyección local.

2voto

Hameno Puntos 129

Le sugiero que cree su mapa de edificios a la escala correcta por un par de razones.

  1. digamos que quiere añadir características geográficas en el futuro fuera de la extensión del edificio (por ejemplo, carreteras, aparcamientos...etc)
  2. si usted representa sus datos como la extensión de la tierra, lo más probable es que su edificio esté deformado o distorsionado cerca de los polos.

Como cualquier aplicación de mapas web, debes tener tus datos proyectados en el sistema de coordenadas que mejor se ajuste a la extensión de tus datos (en tu caso, algo local funcionaría mejor, por ejemplo, el plano del estado...), predefinir los niveles de zoom, dar un centro inicial y una extensión de zoom, establecer un límite máximo. Aquí hay un código de ejemplo que utiliza los métodos indicados anteriormente:

var southWest = L.latLng(40.712, -74.227),
    northEast = L.latLng(40.774, -74.125),
    bounds = L.latLngBounds(southWest, northEast);

// initialize the map on the "map" div with a given center and zoom
var map = L.map('map', {
    center: [41.95, -74.95],
    zoom: 13
    maxBounds: bounds
});

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X