Description: ひつじかいの雑記帳
システム開発 (1903) 登山 (497) 美術館 (349) マラソン (318) ジョギング (58) 絵画鑑賞 (2) ボツワナ (1)
前回 までで、円の大きさが地球を1周するような大きなものにならない限りは等距離の円を同心円状に描くことが出来るようになりました。 今回は、 ・円の半径を地球を1周するような規模に設定した場合、本来とは逆の領域が選択されてしまう場合がある この不具合に対応したいと思います。
ポリゴンを描く際に選択する領域をA、選択していない方の領域をBとした時、Google Maps APIではAとBの面積の差があまりないような場合には、A・Bのうち北側に位置する方の領域を選択する傾向にあるようです。そのため、南半球にある地点を円の中心点にする場合はAの方が南側になりますからBが選択されてしまいます。また、例えば東京から15000kmの等距離円などBの面積が明らかにAよりも小さくなる場合にはBが選択されます。
google.maps.Polygonメソッドに「指定した緯度・経度がポリゴン内部に含まれるように領域選択する」オプションがあればいいのになあ・・・と思うのですが、残念ながら備わっていません。 でも、そのオプションの有無を探している際に、google.maps.geometryライブラリのポリゴン関数にcontainsLocationというものがあるのを見つけました。