2010-07-05 50 views
0

有沒有人知道如何顯示在網站上的標準谷歌地圖android中創建的點,線等(基本上每個覆蓋)? Android數據庫與遠程數據庫同步。我從數據庫中獲取點數,從中創建kml文件並上傳到地圖中。問題是我創建的區域沒有出現在他們應該出現的地方。他們在海洋上的某個地方。我以爲這是因爲我在android中運行這個代碼:如何顯示在android谷歌地圖中創建的行?

Double lat = location.getLatitude()*1E6; 
Double lng = location.getLongitude()*1E6; 

所以基本上我在這裏做microdegrees。我認爲從1E6分數緯度和長分貝將做的伎倆,但它沒有。有人能幫我解決這個問題嗎?提前致謝。

+0

它如何存儲在數據庫?地圖預期的格式是什麼?在這個例子中,你乘以1E6 – Itsik 2010-07-05 12:26:22

+0

感謝您的答覆。 db中的longs和lats存儲如下:51404206 -762842,51404204 -762841,51404204 -762839 這些基本上是在android中採用的緯度和經度對。我正在開發一個應用程序,該應用程序現在將這些座標顯示在網站上的標準地圖中。爲了將它們顯示在正確的位置上,我必須將它們分開還是相乘? 1E6是android使用的格式。 – Pavel 2010-07-05 12:30:33

回答

1

我不知道地圖所期望的格式。 如果是正常的座標,那麼我想你需要做的:

float lat = ((float)location.getLatitude())/1E6; 

否則,如果在int格式期待它,你不需要做任何事情

附:假設getLatitude()返回一個int值,那麼將其強制浮動很重要。否則4539845將變成45而不是45.39845

0

我同意ltsik,E6格式基本上是1E6多倍的正常緯度(或1,000,000,無論你喜歡哪一個),所以變量lat和lng是非常有意義的劃分和不相乘