2012-08-16 114 views
1

嗯,我有一個地板的圖像。我需要做的是獲取用戶的當前位置並將其顯示在地板圖像上。我知道我需要將lat和lon轉換爲像素並將其指向自定義地圖。我跟着這Convert GPS coordinates to coordinate plane。但我無法正確理解。差遠了。可能是因爲,建築面積很小(不知道它是否可以在小面積上開發)。我擡頭看了其他一些問題。它僅僅是硬編碼。我不想這樣做。地圖GPS定製地板圖像上的座標

所以如果有人給我提供任何邏輯思路或代碼示例或教程,這將會有所幫助。任何事情都可以。提前致謝!! :-)

lat = 12.875538; 
longitudeVal = 80.227112; 

delta_lat = 0.0001;  // Adjust Y 
delta_long = 0.0001; // Adjust X 

/* length */ delta_x = 130; // 130 
/* width */ delta_y = 70; // 70 

vertical_scale = delta_y/delta_lat; 
horizontal_scale = delta_x/(cos(lat)*delta_long); 

/* lati */ x = (6378.1 * (1+sin(lat))/cos(lat)); 
/* long */ y = (6378.1 * longitudeVal); 

x = x/horizontal_scale; 
y = y/vertical_scale; 

/* y = ((-1 * lat) + 90) * (delta_x/180); 
x = (longitudeVal + 180) * (delta_y/360);*/ 

NSLog(@"lat %f long %f x %d y %d",lat,longitudeVal,x,y); 
+0

這裏有一些建議:如果你不想做自己的硬編碼僱人來爲你做。 SO並不是一個很好的地方讓人們爲你做你的工作,如果你展示自己的工作並尋求幫助改進它,你會得到更好的答案。 – 2012-08-16 06:34:48

+0

在這裏你去!現在,我們要改變這些變化。我做了那個答案:|這就是爲什麼我沒有發佈我的代碼。 – Nina 2012-08-16 06:59:14

+0

我正在嘗試相同的功能,在image上顯示當前位置。您可以提供更多幫助嗎?任何參考鏈接或代碼將是一個很大的幫助 – wasim 2012-12-18 08:28:46

回答

0

它在我看來就像是在製造一個非常常見的錯誤。您的經度和緯度以度爲單位進行度量,但sin和其他三角函數採用以弧度表示的參數。

您也可能犯了其他錯誤,但只是告訴我們,在沒有告訴我們錯誤的代碼錯誤的情況下,我們不會提供太多線索。

+0

而我只是在我的學習階段,我確實犯了錯誤。在某種意義上錯誤,它不表示地圖上的適當點。有時甚至沒有指出。將其轉換爲弧度並嘗試。如果問題依然存在,我會發布它的內容。 – Nina 2012-08-16 07:13:39

+0

@Nina你能否發表工作代碼? – 2017-02-20 13:36:00

+0

@GaurangMakwana我不再有代碼。抱歉! – Nina 2017-02-21 06:30:32