2011-04-30 57 views
-1

我使用gps和我在地圖上添加了一些非專業的點,所以我想當我的當前位置==上層產品刪除項目!問題是GPS不準確,我可能會在覆蓋項目附近,但不是相同的經度和緯度。所以我想在疊加項目周圍添加一個區域,說一個三角洲,所以問題是三角洲假設它是肯定的,它不能是整數或浮動它應該是什麼,將它添加到我的疊加項目的郎和緯度。 預先感謝安卓gps覆蓋長區域

+0

你的問題不清楚。請重新說明。並避免使用「它是緊急的」 - 這是令人沮喪的。 – 2011-04-30 19:29:43

+0

我想它現在比以前清楚了邁克爾先生 謝謝 – anji 2011-04-30 19:36:56

+0

谷歌翻譯? – mtmurdock 2011-04-30 20:53:06

回答

0

我對Android的GPS並不是很有經驗,但在我看來,你應該能夠計算從你的當前位置到覆蓋物的距離,並檢查它是否小於某些可接受的閾。這只是需要一點向量數學:

int XSquared = Math.pow(myPosition.x - Item.x, 2); 
int YSquared = Math.pow(myPosition.y - Item.y, 2); 
double distance = Math.sqrt(XSquared + YSquared); 

if(distance < threshold) 
    removeItem(item); 

顯然,這不是什麼代碼將實際的樣子,但我希望它會給你一些想法,你需要做什麼。

+0

我所做的唯一的調整就是不要打擾Math.sqrt,測試((XSquared + YSquared)<(閾值*閾值))。將閾值平方(或將其設置爲平方)比Math.sqrt快。隨意編輯。 – 2011-04-30 21:27:39

+0

不 - 這是不正確的。它沒有考慮到兩極等長線的匯合。你需要用半正弦公式來做球面三角。一個更好的主意是使用Android方法Location.distanceBetween()。 – NickT 2011-04-30 21:31:24

+0

@ nickT所以我寫loc.distanceBetween()// loc是我的當前位置,什麼應該是distanceBetween(overlay項目)或什麼 – anji 2011-04-30 22:40:15