En géométrie sphérique, les formes sont définies par des points, des lignes et des angles entre ces lignes. Vous ne disposez que de ces valeurs rudimentaires pour travailler.
Par conséquent, un cercle (en termes de forme projetée sur une sphère) est quelque chose qui doit être approché à l'aide de points. Plus il y a de points, plus cela ressemblera à un cercle.
Cela dit, sachez que google maps est la projection de la terre sur une surface plane (pensez à "dérouler" la terre et à l'étirer + l'aplatir jusqu'à ce qu'elle ait l'air "carrée"). Et si vous avez un système de coordonnées plat, vous pouvez y dessiner des objets en 2D autant que vous voulez.
En d'autres termes, vous peut dessiner un cercle vectoriel à l'échelle sur une carte google. L'ennui, c'est que Google Maps ne vous le donne pas d'emblée (il veut rester aussi proche des valeurs SIG que possible). Ils vous donnent seulement GPolygon qu'ils veulent que vous utilisiez pour approximer un cercle. Cependant, ce gars l'a fait en utilisant vml pour IE et svg pour les autres navigateurs (voir la section "CIRCULES SCALÉES").
Pour en revenir à votre question sur l'utilisation par Google Latitude d'une image de cercle mise à l'échelle (et c'est probablement ce qui vous sera le plus utile) : si vous savez que le rayon de votre cercle ne changera jamais (par exemple, il sera toujours de 10 miles autour d'un point), la solution la plus simple serait d'utiliser une image de cercle de type GGroundOverlay qui est juste l'url de l'image + les GLatLngBounds que l'image représente. Le seul travail que vous devez faire alors est de cacluer le fichier GLatLngBounds représentant votre rayon de 10 miles. Une fois que vous avez cela, l'API de Google Maps gère la mise à l'échelle de votre image lorsque l'utilisateur effectue un zoom avant ou arrière.
0 votes
Au cas où cela s'avérerait utile, on peut voir un exemple de ceci ici avec un rayon mobile.