¿Cómo puedo ampliar el mapa mediante programación para que cubra todo el mundo?Google Maps API V3: mostrar todo el mundo
Respuesta
function initialize() {
var mapOptions = {
\t center: new google.maps.LatLng(0, 0),
\t zoom: 1,
\t minZoom: 1
};
var map = new google.maps.Map(document.getElementById('map'),mapOptions);
var allowedBounds = new google.maps.LatLngBounds(
\t new google.maps.LatLng(85, -180), \t // top left corner of map
\t new google.maps.LatLng(-85, 180) \t // bottom right corner
);
var k = 5.0;
var n = allowedBounds .getNorthEast().lat() - k;
var e = allowedBounds .getNorthEast().lng() - k;
var s = allowedBounds .getSouthWest().lat() + k;
var w = allowedBounds .getSouthWest().lng() + k;
var neNew = new google.maps.LatLng(n, e);
var swNew = new google.maps.LatLng(s, w);
boundsNew = new google.maps.LatLngBounds(swNew, neNew);
map .fitBounds(boundsNew);
}
google.maps.event.addDomListener(window, 'load', initialize);
#map {
width: 500PX;
height: 500px;
}
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js"></script>
</head>
<body>
<div id="map"></div>
</body>
</html>
// map zoom level should be 1
Al crear una nueva instancia de mapa, puede especificar el nivel de acercamiento.
var myOptions = {
zoom:7,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
Cuanto menor sea el valor de zoom, más del mapa que se ve, por lo que un valor de 1 ó 2 debe mostrar todo el globo (dependiendo del tamaño de su mapa de lona). Después de crear el mapa, puede llamar a:
map.setZoom(8);
Para cambiar el nivel de acercamiento.
El problema es que el tamaño del lienzo es relativo al tamaño de la ventana. Así que hubiera sido agradable poder decir que debería mostrar todo, desde la coordenada A hasta la coordenada B. – Nocklas
Además, al objeto de opciones le falta la propiedad 'center' que, según la [documentación oficial] (https : //developers.google.com/maps/documentation/javascript/reference? hl = es # MapOptions), es obligatorio. –
La solución para este problema fue utilizar el método fitBounds en el objeto de mapa y especificar los límites apropiados.
¿Cuáles son los límites que usaste? – httpete
No está garantizado para no tener repeticiones, pero abusando del hecho de la teja de base comienza en 256 (zoom 0) y se duplica en cada incremento de allí en en - te puede seleccionar el nivel de zoom óptimo usando una función de logaritmo.
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(0, 0),
zoom: Math.ceil(Math.log2($(window).width())) - 8,
};
var map = new google.maps.Map(document.getElementById('map'), mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
#map {
width: 100%;
height: 500px;
}
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js"></script>
</head>
<body>
<div id="map"></div>
</body>
</html>
- 1. Google Maps API v2 vs Google Maps API v3?
- 2. Google Maps API v3 BrowserIsCompatible
- 3. Mostrar mi ubicación en Google Maps API v3
- 4. Cómo mostrar múltiples Google Maps por página con API V3
- 5. Google maps api v3 cursores estándar
- 6. Google Maps API V3 Gray Áreas
- 7. Google Maps API de JavaScript v3
- 8. jQTouch/google maps tema API v3
- 9. Google Maps v3 API - Autocompletar (dirección)
- 10. Google Maps API v3: Administrador de dibujos
- 11. Quitar marcador en Google Maps Api v3
- 12. google maps v3 API mouseover con polígonos?
- 13. Google maps api v3 iconos predeterminados?
- 14. Google Maps api V3 marcador de actualización
- 15. Google maps API V3 método fitBounds()
- 16. GWT + API de Google Maps v3
- 17. google maps api v3 - streetview más cercano
- 18. Google maps Límite municipal API v3
- 19. google maps api v3 no hay etiquetas?
- 20. Google Maps API V3 desactivar el zoom suave
- 21. Google Earth integrado con Google Maps API v3?
- 22. Google Maps v3 OverlayView.getProjection()
- 23. El mapa no se muestra Google Maps API V3
- 24. ¿El mejor complemento para jQuery y Google Maps API v3?
- 25. Google maps API V3 - DirectionsRendererOpciones y contenido personalizado en InfoWindow
- 26. Demo para mostrar varias direcciones de Google (Google Maps API v3)
- 27. Google Maps API V3 devoluciones de llamada (carga de KML)
- 28. Google Maps API v3 ¿estableció el nivel de zoom para mostrar un radio dado?
- 29. Eliminación de un marcador en Google Maps API v3
- 30. Google Maps API v3 eliminar todas las polilíneas
'swt' y' nor' son variables no utilizadas. Por favor, limpie el código antes de pegar en SO. – developerbmw
gracias @developerbmw – Kunal
Intenté esta solución en Android, pero obtuve una excepción: "java.lang.IllegalArgumentException: la latitud sur excede la latitud norte (85.0> -85.0)". Después de cambiar las coordenadas, no se bloqueó, pero todavía no muestra todo el mundo. ¿Cómo? Aquí hay una pregunta al respecto: http://stackoverflow.com/q/42329186/878126 –