2009-09-24 11 views

risposta

2

Solo per divertimento, un altro approccio sarebbe quello di dire alla mappa di avvolgere verticalmente nello stesso modo in cui si avvolge orizzontalmente, sovrascrivendo GMercatorProjection.prototype.tileCheckRange prima di creare la mappa.

GMercatorProjection.prototype.tileCheckRange=function(a,b,c){ 
    var d = 1<<b; 
    if (a.y<0||a.y>=d) { 
     a.y=a.y%d; 
     if(a.y<0){ 
     a.y+=d; 
     } 
    } 
    if(a.x<0||a.x>=d){ 
     a.x=a.x%d; 
     if(a.x<0){ 
     a.x+=d; 
     } 
    } 
    return true 
    } 

Lo svantaggio è che l'API non contiene alcun codice per far sì che i marcatori e polilinee per saltare verticalmente alla copia della mappa che è in vista, saltano solo orizzontalmente. Una soluzione completa richiederebbe di scrivere il proprio codice per eseguire i salti verticali e utilizzare GLatLngs illimitati.

+0

selvaggio! grazie, ci proverò. – typeoneerror

+0

Ho lo stesso problema, vorrei impedire all'utente di andare oltre i limiti visivi, ma non riesco a capire come risolvere questo problema con la soluzione. Mi potete aiutare per favore? – mgul

2

This is a good example di come limitare l'intervallo di una mappa. È un po 'un trucco, ma probabilmente è la tua unica vera opzione.

Problemi correlati