javascript - example - ¿Cómo cargar alguna parte de google maps?
google maps marker title (2)
probablemente podrías cargarlo previamente en un div oculto o iframe.
pero debe asegurarse de que no esté en contra de los Términos de servicio de las API de Google Maps / Google Earth
10.1.3 Restricciones contra la exportación o copia de datos.
(b) Sin captura previa, almacenamiento en caché o almacenamiento de contenido. No debe pre-buscar, almacenar en caché o almacenar ningún Contenido, excepto que puede almacenar: (i) cantidades limitadas de Contenido con el fin de mejorar el rendimiento de la implementación de la API de Google Maps si lo hace de forma temporal, segura y en una manera que no permita el uso del Contenido fuera del Servicio; y (ii) cualquier identificador de contenido o clave que la documentación de las API de Maps le permita específicamente almacenar. Por ejemplo, no debe usar el Contenido para crear una base de datos independiente de "lugares".
Estoy creando una aplicación web con la API de Google Maps, necesito hacer zoom en un área sin problemas, por lo que uso setTimeout
para aumentar el nivel de zoom cada segundo, pero en algún lugar con una red defectuosa, las imágenes del mapa se cargan demasiado lento que La página pasa rápidamente a una página en blanco ...
así que mi pregunta es si es posible precargar parte de Google Maps (zoom de 3 a 16 puntos)
Hacer algun codigo
Acabo de crear un script basado en la idea de 5 años de RASG. Vamos a crear un mapa oculto y cuando esté completamente cargado, amplíelo. Lo hacemos una y otra vez hasta que almacena en caché todos los zoom. El violín de trabajo está aquí . He colocado un div
información en la esquina superior derecha para ver cómo avanza el zoom.
// init the hidden map
var mapOptions = {
center: new google.maps.LatLng(center.lat, center.lng),
zoom: minZoom + 1
};
var preMap = new google.maps.Map(document.getElementById(''map-canvas-hidden''), mapOptions);
// when the current hidden map is fully loaded, zoom it in
preMap.addListener(''tilesloaded'', function() {
$(''#out'').html(''Zoom '' + preMap.getZoom() + '' preloaded'');
// if there is zoom to zoom-in, do it after some rest
if(preMap.getZoom() < maxZoom) {
setTimeout(function(){
preMap.setZoom(preMap.getZoom() + 1);
}, 50);
}
});
¿Realmente caché el mapa?
Bueno, borra el caché del navegador y abre el violín.
En la actividad de la red del navegador podemos ver muchas descargas de imágenes. Luego haz zoom en el mapa y mira la actividad nuevamente. Parece que todas las imágenes se cargan desde el caché.
Espero eso ayude.