2011-05-11 13 views
9

Tengo una gran imagen de alta resolución que estoy usando para una superposición usando la API de Google Maps v3. Esto funciona bien para computadoras de escritorio y portátiles con una conexión de red razonable, pero como era de esperar, no funciona tan bien para los usuarios de dispositivos móviles.Convertir una sola superposición de imágenes grandes en mosaicos para Google Maps

¿Cuál es la mejor/más fácil forma de dividir la imagen en mosaicos 2D en los distintos niveles de zoom para que pueda actuar como un servidor de mosaico para Google Maps a través de la API?

¿Hay algún programa que genere las baldosas de manera confiable y me proporcione el zoom y las coordenadas necesarias para cada baldosa resultante y/o me proporcione la ficha correcta si proporciono el zoom y las coordenadas?

¿Es bastante fácil escribir un servidor de mosaicos para hacerlo sobre la marcha una vez que reúna la información correcta? Tal vez haya un código fuente que pueda usar como modelo. (Encontré un servidor de mosaicos en http://blog.gmapify.fr/a-map-tile-server-part-2-understanding-google-maps-tile-overlays-and-building-up-a-tile-server que sin duda es útil, pero no sirve fichas de una imagen de origen, así que al menos tendría que figurar esa parte ...)

O tal vez hay un paso algoritmo paso a paso que puedo seguir manualmente si eso es más sencillo? (Dado que es solo una imagen y cubre un área en el mapa de quizás una milla cuadrada, hacerlo manualmente así es tal vez factible si no es preferible).

Respuesta

11

puede consultar MapTiler http://code.google.com/p/maptiler/. Puede generar las fichas que necesita.

El servidor de mosaico es realmente fácil de escribir. La forma más fácil es simplemente alojar archivos estáticos (sus teselas) en una estructura de directorio. La estructura del directorio suele ser servername/zoom/x/y.png (o zoom/y/x.png). Tal estructura también es producida por MapTiler. MapTiler también genera una página web de ejemplo con los mosaicos (pero supongo que usa Google Maps API v2).

información sobre el uso de las fichas en Google Maps API v3 se puede encontrar aquí: http://code.google.com/apis/maps/documentation/javascript/maptypes.html#CustomMapTypese

2

Hay un muy buen tutorial de vídeo sobre la elaboración de mapas con maptiler, que se puede encontrar aquí:
Mobile Maps That Aren't Terrible

Se se centra en mapas móviles, pero también cubre maptiler y otros conceptos básicos. Me pareció muy útil.

4

Usted puede hacer toda la cosa clientside sin baldosas pre-corte

Ver https://github.com/Murtnowski/GMap-JSlicer

slicer = new JSlicer(document.getElementById('map'), 'myImage.png'); 
slicer.init(); 

muy simple.

+1

Este tipo de derrota al objeto de tener fichas, ya que el cliente tendrá que descargar toda la imagen antes de que se pueda convertir en fichas. Sin embargo, puede ser útil para algunas aplicaciones. –

+1

Aquí hay una alternativa, usando tiles: http://omarriott.com/aux/leaflet-js-non-geographical-imagery/ (gracias a @DavidRR en http://stackoverflow.com/a/15170828/1035977) –

Cuestiones relacionadas