2009-09-24 6 views
5

Gdy jesteś dość daleko pomniejszony na mapie google, możesz przeciągnąć go na tyle, aby mapa się skończyła i stała się pustym szarym kolorem. Mapa wydaje się powtarzać bezmyślnie na osi poziomej, ale nie w pionie. Zastanawiam się, czy istnieje sposób, aby zapobiec przeciągnięciu mapy po osiągnięciu tego szarego obszaru. Jakieś pomysły?Zatrzymaj przeciągnięcie mapy google poza granicami widoczności

Odpowiedz

2

Dla zabawy, innym sposobem byłoby nakłonienie mapy do zawijania w pionie w ten sam sposób, w jaki jest ona owinięta w poziomie, przez nadpisanie GMercatorProjection.prototype.tileCheckRange przed utworzeniem mapy.

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 
    } 

Minusem jest to, że API nie zawiera żadnego kodu za spowodowanie znaczniki i polilinii skakać pionowo do kopii mapy, która jest w związku, to tylko skok w poziomie. Kompletne rozwiązanie wymagałoby napisania własnego kodu, aby wykonać pionowe skoki, i używać nieograniczonych GLatLngs w całym tekście.

+0

dzika! dzięki, spróbuję tego. – typeoneerror

+0

Mam ten sam problem, chciałbym uniemożliwić użytkownikowi wyjście poza granice wizualne, ale nie mogę wymyślić, jak to naprawić z rozwiązaniem. Czy możesz mi pomóc? – mgul