2010-11-10 7 views
5

sto utilizzando Google Maps API (v3) per il rendering di una mappa del mondo. Quando ho Zoom tutto la via d'uscita (per ingrandire livello 1) e iniziare a trascinare la tela, sono in grado di uscire dalla mappa confini, e l'area mostra esterna in colore grigio. Voglio impedire all'utente di trascinare la mappa di fuori dei confini della mappa del mondo. Come lo faccio?API di Google Maps: prevenire il trascinamento in una zona grigia

risposta

-1

È possibile impostare minZoom e maxZoom per garantire che i livelli di zoom disponibili sono all'interno dei vostri confini, la speranza che aiuta?

+4

L'aggiunta di un livello di zoom non impedisce all'utente di trascinare la mappa in modo che l'area grigia sia visibile. – JensB

+1

Questo è è solo per lo zoom, non per il trascinamento della mappa. –

3
google.maps.event.addListener(Map, 'drag', function(){ 

    var proj =Map.getProjection(); 
    var bounds = Map.getBounds(); 
    var sLat =Map.getBounds().getSouthWest().lat(); 
    var nLat = Map.getBounds().getNorthEast().lat(); 
    if (sLat < -85 || nLat > 85) { 
     // alert('Gray area visible'); 
     Map.setOptions({ 
       center: new google.maps.LatLng(
        cen_Lati , // set Latitude for center of map here 
        cen_Longi) // set Langitude for center of map here 
       });   
     // Map.fitBounds(boundsNew); Or Define bound that u want show 
    } 
});