performance - mapas - gps sin conexion
¿Cómo funciona Google Maps? (13)
Aquí hay un buen resumen de una pila de código abierto para generar mapas basados en la web de uno de los fundadores de EveryBlock.com: http://www.alistapart.com/articles/takecontrolofyourmaps
¿Cuál es el nombre de la tecnología detrás de Google Maps que permite que el servidor envíe solo la parte del mapa solicitada por el usuario para mejorar el rendimiento, y existe alguna biblioteca para manejar esto?
Como se dijo, Google generó todos estos mosaicos de 256x256 y solo está sirviendo los mosaicos relevantes. De tus comentarios parece que estás buscando algo para generar estos mosaicos para ti. Varias personas han escrito un código para cortar una imagen en mosaicos, por ejemplo, http://crazedmonkey.com/blog/googletilecutter o http://www.klokan.cz/projects/gdal2tiles/ ambos parecen ser capaces de hacer lo que buscas. para.
El nombre genérico para la disciplina subyacente es GIS .
¿Está pidiendo más detalles por curiosidad general, o tiene una necesidad técnica específica para un proyecto?
Es solo una gran imagen que consiste en trozos cuadrados que se descargan de forma independiente (usando AJAX, etc.). Creo que lo hace un tipo de bibliotecas internas de Google (también podría ser GWT).
Más sobre este tema: http://blog.grimpoteuthis.org/2005/02/mapping-google.html
Esto es algo que puede probar usted mismo con OpenSource, http://www.geoserver.org http://www.openlayers.org y, por último pero no menos importante, http://geowebcache.org/
Debería poder configurar un entorno mínimo que haga algo similar a maps.google en un par de horas.
Estoy trabajando en un visor de navegador cruzado para planos y escenarios históricos muy grandes. Una buena ayuda para los primeros pasos (un blog antiguo) que encontré en http://www.cadmaps.com/gisblog/?p=7 para comprender las pirámides de imágenes (con lo que trabaja Google Maps).
Con un ''soplete'' produzco muchas imágenes como testImage_0001111100.png. 0001111100 es decir, el 5º nivel de zoom y la posición x / y en la pirámide de imágenes. La mayor parte del cálculo (imágenes vecinas, acumulación de imágenes hacia arriba y hacia abajo) se realiza en el servidor mediante php llamado por solicitudes ajax.
Estoy luchando en el momento con problemas (no insolubles) en el cambio suave y el zoom. Ese es mi problema, pero lea el artículo.
Google Maps y Google Earth usan algo conocido como KML, o "Keyhole Markup Language", que es una variante especial de XML. Es nombrado en homenaje a los primeros satélites geo-tracking. Puede almacenar información en una ubicación en Google Earth (y eventualmente se filtrará a Google Maps) utilizando este marcado para geocodificar sus coordenadas de latitud y longitud específicas. Incluso puedes incluir altitud.
Google obtiene tomas de satélite de alta definición de los servicios que venden estas imágenes, luego almacenan y recogen estas imágenes y solo sirven aquellas que se requieren cuando se mira un punto determinado. Es decir, ¿has notado cuando acercas y alejas que puedes ver cuadros cuadrados que aparecen? esos son los servidores de Google que le están sirviendo.
También debe considerar cómo manejan la carga con Google File System y MapReduce.
La tecnología podría describirse genéricamente como un servidor de mapas . El servidor de mapas genera un mapa para la ubicación solicitada a partir de un gran conjunto de imágenes de mosaicos de mapas pregenerados que cubren todo el planeta. El servidor de mapas puede superponer datos de otras bases de datos además de esto. La combinación de un cliente de visor de mapas y una base de datos geográficos se denomina tradicionalmente Sistema de Información Geográfica (SIG).
Cualquiera puede escribir aplicaciones web que incorporen mapas de Google utilizando la API de Google Maps . También hay un buen servidor de mapas de código abierto (llamado MapServer ) en caso de que desee implementar su propio servidor de mapas.
No para responder la pregunta, solo más amplia la información. Microsoft tiene algo llamado "Zoom profundo" para Silverlight que hace que sea fácil hacer ese tipo de efecto.
Es un compositor gratuito en el que coloca las imágenes en mosaico (o una imagen grande) y realiza otras configuraciones, luego las divide en muchas más pequeñas en subcarpetas, una carpeta para cada nivel de zoom. Y luego crea una página que puede consumirlos de una manera fluida.
Una buena entrada de blog al respecto: http://weblogs.asp.net/jgalloway/archive/2008/03/21/why-silverlight-2-deep-zoom-really-is-something-new.aspx
Si miras el enlace para una página de google maps se verá así:
http://maps.google.com/maps?f=q&hl=en&sll=37.0625,-95.677068&sspn=53.345014,88.769531&ie=UTF8&ll=41.226264,-81.454246&spn=0.012507,0.021672&z=16
El código de javascript en la página y el código del servidor usan los números en el enlace para determinar la ubicación del mapa que está viendo, el nivel de zoom y el tamaño de la ventana de visualización para determinar los mosaicos que se enviarán a su navegador.
Existen bibliotecas comerciales que pueden proporcionar los datos de mapeo así como herramientas para mostrar y navegar los datos. Uno que he visto usado anteriormente es Geomicro
También puedes usar la API de Google Maps con tus propias imágenes. Por supuesto, no necesitan ser un mapa; pueden ser cualquier imagen. Esto permitirá al usuario arrastrar y hacer zoom, como en los mapas de Google.