Bonjour,
Je travail pas mal sur des Google Map et parfois j'exploite d'autres données cartographiques que celles fournies par Google. J'avoue que je ne suis pas trop calé sur la cartographie en générale, mais l'API je commence à bien la connaître.
En principe, si je veux exploiter des données cartographiques d'une autre source, je procède ainsi :
Code :
getTileUrl: function(coord, zoom) { return "http://mw1.google.com/mw-planetary/lunar/lunarmaps_v1/clem_bw/" + zoom + "/" + coord.x + "/" + coord.y + ".jpg"; }
|
Ce code fonctionne avec la plupart des sources. Mais dans le cas des cartes de la Lunes fournies par Google par exemple, la coordonnée Y n'est pas bonne... Le code à utiliser est le suivant pour que la carte soit affichée correctement :
Code :
getTileUrl: function(coord, zoom) { var minY = Math.pow(2, zoom) - coord.y - 1; return "http://mw1.google.com/mw-planetary/lunar/lunarmaps_v1/clem_bw/" + zoom + "/" + coord.x + "/" + minY + ".jpg"; }
|
Je ne comprends pas pourquoi la carte est inversée spécifiquement pour la Lune (je crois que c'est aussi le cas pour la carte de Mars) et je ne comprends pas non plus comment le petit calcul ajouté résout le problème.
Quelqu'un aurait-il une explication ?
Le code que j'ai donnée, je l'ai bêtement copié de la doc officielle mais ils n'expliquent pas du tout pourquoi c'est là... J'imagine donc que ça n'a pas de rapport avec l'API et que ce doit être une spécificité de certains types de cartes ? Mais pourquoi ?
Je ne suis pas certain que la section Javascript soit la plus appropriée pour cette demande, le langage n'ayant au final peu d'importance...
En tout cas, si quelqu'un a une idée qu'il n'hésite pas !
---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/