Ti.Geolocation에 문제가있어 미친 듯이 움직입니다. 지금까지는 IOS 플랫폼 만 사용했습니다. 목표는 휴대 전화로 이동할 때 최대한의 정확도로 GPS 콜백을받는 것입니다.Ti.Geolocation 콜백은 KitchenSink를 실행할 때만 작동합니다.
문제는 KitchenSink의 geolocation.js 코드의 대부분을 아래에 표시된 관련 부분과 함께 복사 한 것입니다. 나에게는 괜찮은 것처럼 보이지만 내가받는 행동은 매우 이상합니다.
나는 걸을 때 일반적인 GPS 콜백을받지 못한다! 그러나 나침반은 잘 작동하며 항상 콜백을 보냅니다. 나는 또한 '제목'이벤트에 가입하지 않고 시도했지만 GPS 동작에는 변화가 없습니다.
올바른 데이터로 GPS 콜백을 트리거 할 수있는 이벤트가 하나뿐이므로 KitchenSink가 실행 중입니다. KitchenSink로 전환하면 5 ~ 10의 정확도로 콜백 할 수 있습니다. 그렇게하지 않으면 내 정확도가 1500-2500으로 높아질 수 있습니다 (콜백을받는 경우).
KitchenSink는 정상적으로 작동하는 것처럼 보이지만 그 앱이 내가하는 일을 볼 수 없습니까?!?
휴대 전화에서 Wi-Fi를 껐어 방해하지 않습니다. 이 문제는 매우 실망스럽고 3 일을 보냈습니다. 누군가 도움을받을 수 있습니까? 나는 다른 SDK (보통 2.1.1GA이지만 1.8.2까지)에 대해서도 컴파일을 시도했다. 변경 없음.
if (locationServicesAvailable()) {
// APPLICATION LOGIC
ui.init();
Ti.Geolocation.purpose = "Get Lat/Long of your current position";
Ti.Geolocation.accuracy = Ti.Geolocation.ACCURACY_BEST;
Ti.Geolocation.distanceFilter = 10;
Ti.Geolocation.frequency = 0; /* as fast as possible */
Ti.Geolocation.preferredProvider = Ti.Geolocation.PROVIDER_GPS;
if (Ti.Geolocation.hasCompass) {
// TURN OFF ANNOYING COMPASS INTERFERENCE MESSAGE
Ti.Geolocation.showCalibration = false;
// SET THE HEADING FILTER (THIS IS IN DEGREES OF ANGLE CHANGE)
// EVENT WON'T FIRE UNLESS ANGLE CHANGE EXCEEDS THIS VALUE
Ti.Geolocation.headingFilter = 45;
/*
Ti.Geolocation.getCurrentHeading(handleCompass);
Ti.Geolocation.addEventListener('heading', handleCompass);
*/
}
Ti.Geolocation.getCurrentPosition(handlePosition);
Ti.Geolocation.addEventListener('location', handlePosition);
ui.refresh.addEventListener('click', function(e) {
Ti.Geolocation.getCurrentPosition(handlePosition);
});
}