Bibliotecas para representar mapas basados en vectores en el navegador

13

¿Existe una biblioteca de código abierto de JavaScript como Leaflet u OpenLayers que se puede usar en una aplicación web o móvil y carga mapas basados en vectores en lugar de imágenes? Solo necesito información sobre la carretera y algunos PDI.

La única biblioteca que encontré fue polymaps , pero aún así necesitaría un servidor o servicio que sirva el vector SVG de datos (preferible de OpenStreetMap). También está el bonito proyecto de Android llamado Mapsforge pero lo necesitaría para una aplicación web u otros dispositivos móviles.

    
pregunta Karussell 26.02.2013 - 14:31

5 respuestas

4

Comenzamos una página para recopilar enlaces e información sobre mosaicos vectoriales en el OpenStreetMap Wiki (trabajo en progreso):

enlace

    
respondido por el Norbert Renner 07.03.2013 - 00:44
10

Para solo dibujar vectores, Leaflet o OpenLayers hazlo bien Nada nuevo allí.

Para mapas vectoriales tiled (es decir, diferentes resoluciones / niveles de detalle en diferentes niveles de zoom), TileStache es un servidor simple y bueno. He estado usando muchos experimentos con Polymaps (AFAIK, el único visor vectorial de js en mosaico de uso general). Algunas personas han utilizado OpenLayers para agregar compatibilidad con vectores en mosaico , pero AFAIK , no se ha integrado al tronco en un año, por lo que probablemente no lo hará en el futuro cercano por falta de interés.

TileStache (el servidor) en sí mismo está funcionando muy bien. Sin embargo, he encontrado varios errores con Polymaps y, como ya no se está actualizando (proyecto abandonado), no puedo convencerme a mí mismo para usarlo en producción (tendría que mantenerlo yo mismo ... No puedo justificarlo para yo mismo todavía.)

Mi solución para mí ha sido escribir un renderizador de vectores nativo OpenGL personalizado que se usa en AmigoCloud . De hecho, así es como se representan todos los mapas en nuestro servicio. Para ese propósito, TileStache ha funcionado bastante bien.

Desea ver Proveedor de vectores de TileStache . Para ver ejemplos de cómo usarlo, puede consultar un conjunto de pruebas de vectores que escribí .

Lamentablemente, no creo que Leaflet sea compatible con vectores en mosaico.

    
respondido por el Ragi Yaser Burhum 05.03.2013 - 04:35
10

Actualización: desde que publicamos esto, Mapbox lanzó Mapbox GL JS , que realiza el renderizado de mapas base vectoriales basado en WebGL. en el navegador.

En este punto, no hay una opción establecida. El único mapa de vector completamente en producción que existe es el Google MapsGL, y eso es muy limitado debido a la compatibilidad con el navegador & rendimiento.

Lo más cercano que obtendrás con el código abierto en este momento es Kothic.js y enrollar tus propios azulejos con Kothic's script.

    
respondido por el tmcw 26.02.2013 - 16:25
6

Si entiendo su pregunta correctamente, tanto OpenLayers como Leaflet cargarán / mostrarán datos vectoriales.

Por ejemplo

enlace

esto carga un archivo GeoJSON en el mapa del folleto que utiliza OSM a través de CloudMade en segundo plano.

OpenLayers probablemente admite más tipos diferentes de formatos vectoriales, como KML

enlace

Si quiere decir que está detrás de un servidor para servir datos vectoriales en el mapa, busque en MapServer, GeoServer y ESRI ArcGIS Server, que todos servirán datos vectoriales en su mapa como un Servidor de funciones web (WFS).

    
respondido por el tjmgis 26.02.2013 - 16:06
2

Encontré otro proyecto interesante llamado GL-Solar que se basa en la tecnología webgl en lugar de SVG o lienzo. Aunque está en su desarrollo temprano, esto parece prometedor.

También MapCSS , Cartagen y d3.js deben mencionarse. d3.js se utiliza en el editor de osm en línea iD . También hay una publicación en el blog sobre folleto y procesamiento html5.

    
respondido por el Karussell 06.03.2013 - 08:39

Lea otras preguntas en las etiquetas