2011-04-30 2 views
-1

gps를 사용 중이고 일부 맵에 레이 포인트를 추가하여 현재 위치가 == over lay 인 항목을 제거합니다. 문제는 GPS 부정확성이며 오버레이 항목 근처에 있지만 위도와 경도는 같지 않을 수 있습니다. 그래서 오버레이 항목 주위에 영역을 추가하려면 델타가 델타가 델타가 int인지 아니면 플로트해야하는지에 대한 질문이 델타를 말하며 내 lay item lang 및 latitude에 추가해야합니다. 미리 감사드립니다.android gps cover long area

+0

질문이 확실하지 않습니다. 다시 말해주세요. 그리고 그것은 "긴급하다"는 것을 피하십시오 - 그것은 불쾌합니다. –

+0

나는 그것의 이상을 짐작한다 지금 미스터 마이클 – anji

+0

Google 번역에 감사드립니다? – mtmurdock

답변

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, test ((XSquared + YSquared) <(임계 값 * 임계 값)) 대신 신경 쓰지 않는 것입니다. Squaring 임계 값 (또는 제곱으로 설정)은 Math.sqrt보다 빠릅니다. 편집 할 수 있습니다. –

+0

아니요 - 정확하지 않습니다. 극점에서 같은 경도의 선의 수렴을 고려하지 않습니다. 구형 삼각법을 사용하면 haversine 수식을 사용해야합니다. 더 좋은 방법은 Android 메소드 Location.distanceBetween()을 사용하는 것입니다. – NickT

+0

@ nickT 그래서 loc.distanceBetween() // loc이 현재 위치이고 distanceBetween (오버레이 항목) 또는 무엇이되어야하는지 – anji