2009-06-01 5 views
0

Je veux diviser l'affichage de la carte Google en 200 parties, j'ai ce codegoogle maps: veulent diviser la carte en nombre de limites sous

bounds = map.getBounds(); 
southWest = bounds.getSouthWest(); 
northEast = bounds.getNorthEast(); 

tileWidth = (northEast.lng() - southWest.lng())/10; 
tileHeight = (northEast.lat() - southWest.lat())/20; 

for (x=0; x < 20 ; x++) 
{ 
for (y=0; y < 10 ; y++) 
{ 
    var x1 = southWest.lat()+ (tileHeight * x); 
    var y1 = southWest.lng()+ (tileWidth * y); 
    var x2 = x1 + tileHeight; 
    var y2 = y1 + tileWidth; 

    var tempCell = new GLatLngBounds(new GLatLng(x1, y1), new GLatLng(x2, y2)); 
} 
} 

Je viens figure cant ce qui est mal avec elle. .. Une idée?

+0

pourriez-vous nous faire savoir quelle erreur ou comportement inattendu vous obtenez? –

+0

Mon code ne divise pas l'affichage de la carte en sous-limites égales. – Posto

+0

ils ne sont pas de taille égale, ou il n'y a pas autant de régions que prévu, ou? –

Répondre

0

J'ai essayé le code que vous avez posté - il semble fonctionner très bien. Le problème est probablement ailleurs dans votre code. Pouvez-vous poster plus de détails?

Il convient de noter, cependant, que ce code échouera de manière spectaculaire si les limites incluent la ligne de date internationale. Faites-nous savoir si c'est le problème.

+0

Bonjour Chris, Actuellement, dans Google MAP UI, toutes les pièces (de 200 pièces) ne sont pas de la même taille, car la densité de LatLong n'est pas la même dans tous les palettes de MAP, donc à première vue moi comme problème dans mon code. – Posto

+0

Je pense que je comprends - Les pièces deviennent plus grandes à mesure que vous vous rapprochez des pôles, et vous voulez que chaque partie soit de la même taille sur l'écran. Est-ce correct? Serait-ce une option pour diviser la carte en fonction des pixels de l'écran? Que faites-vous avec les pièces? –

0

Je ne peux pas m'empêcher de remarquer que vous utilisez tempCell pour conserver le résultat, mais que faire ensuite? est-ce que vous vous référez encore à ces régions délimitées?

+0

juste utiliser map.addOverlay (new Rectangle (tempCell)); – Posto

+0

et souhaitez utiliser à nouveau – Posto

Questions connexes