4 votos

¿Cómo evitar que el mapa web muestre contenido de 2 niveles de zoom al mismo tiempo?

Así que estoy haciendo una aplicación web con un mapa que combina varias capas (y de forma dinámica alterna apagado y encendido). He hecho estas capas en TileMill, las cuales se exportaron a .mbtiles ficheros, y me sirve con TileStream. El problema que estoy teniendo es que estas capas pueden ser escasa-hay lugares que no tienen ningún contenido. Esto lleva a que el mapa que muestra el contenido de dos niveles de zoom al mismo tiempo.

La causa de esto es que los dos bien-significado de las características que están interactuando de una manera indeseable:

  • TileMill no generar azulejos en áreas donde la capa no tiene contenido
  • Cuando falta un azulejo en un nivel de zoom, Polymaps escalas en un icono de otro nivel. (Así lo hace la Cera.)

Aquí una foto del problema. En este mapa, los nombres de las calles y la (B) marcador se encuentran en su propia capa. Tenga en cuenta la duplicación de la (B), marcador y la etiqueta de West 4th Ave. (en la parte inferior izquierda).

a picture of the problem

Este diagrama ilustra lo que está sucediendo. La capa está en blanco en la parte superior izquierda (ya que no hay nada a la etiqueta en el agua). Desde TileMill no generar un azulejo que hay en el zoom de 15, Polymaps trae en el icono de zoom 14. Si los azulejos había opaco fondos, esto estaría bien. Pero ya que las fichas son transparentes, el zoom 14 y 15 piezas se superponen.

overlapping tiles

¿Qué puedo hacer para evitar o solucionar este problema? Yo he venido para arriba con un par de posibilidades, todas las cuales tienen inconvenientes. Hay otras opciones estoy vistas? Agradecería cualquier comentario o sugerencias.

La conmutación de juegos de herramientas: estoy abierto a mudarse a Folleto o OpenLayers. Pero antes de poner en el esfuerzo, se lo agradecería alguna seguridad de que no voy a tener el mismo problema con los kits de herramientas.

El uso de TileMill hosting: Esta compuesto de los azulejos para mí, pero el costo es una barrera. (Me gustaría exceder los límites de carga en el plan estándar.) Hay también la complejidad logística de elaboración de los distintos compuestos para todas las diferentes combinaciones de capas que tengo.

La piratería de hasta el .mbtiles archivos de: La .mbtiles archivo es una base de datos, y podría añadir vacío archivos PNG en la ausencia de azulejos. Esto parece extrema, a pesar de que, y yo sigo pensando que debe haber una solución más simple.

2voto

Jay Puntos 6

¿Qué devuelve TileStream cuando no hay contenido? ¿404? De todos modos, en el error de carga de mosaicos, OpenLayers mostrará un "mosaico roto" (también conocido como "mosaico rosa"), que puede personalizar según sea necesario. OpenLayers nunca mostrará un mosaico escalado de un nivel de zoom anterior al cargar un mosaico provoca un error.

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