2012-08-06 42 views
0

我試圖在地圖上添加一些GeoPoints,但我遇到了一些「特殊」問題。GoogleMaps地理位置值範圍

緯度值的範圍爲+90至-90,因此我想補充一點,像這樣......

int latitude: 85000000; 
int longitude = 45000000; 
GeoPoint point = new GeoPoint(latitude, longitude); 

...並在此之後我仔細檢查與緯度值:

point.getLongitudeE6(); 

我總是得到80000000回的最大值。有人可以解釋爲什麼谷歌爲GeoPoint設置此限制以及這種限制的原因是什麼?

謝謝!

回答

2

您的問題與getLatitudeE6()GeoPoint在兩極附近不起作用。你可能在北方太遠或南方太遠。

此行爲是設計使然。從the docs

[緯度]將被鉗位至-80度和+80度 (含)之間,爲了在墨卡託投影保持精度。

同樣,經度被限制爲-180到+180。

+0

謝謝您的信息。你知道爲什麼谷歌設置這些限制嗎? – FredFloete 2012-08-06 18:10:17

+0

經度極限(-180到+180)恰好是邏輯極限,因爲它覆蓋了全球。正如他們所說,緯度限制是爲了達到精確度,因爲緯度線在極點上非常接近。你可能需要一個方位投影來做兩極的工作; Google地圖使用墨卡託。 – 2012-08-06 18:17:19