2012-10-09 2 views
6

PhoneGap 버전 : 2.0.0. Android API 레벨 16 (4.0.3 버전). 오류 메시지를 표시 코드 샘플 : PhoneGap. Geolocation 서비스를 시작하지 못했습니다

navigator.geolocation.getCurrentPosition(onSuccess, onError, {enableHighAccuracy:true}); 

function onSuccess(position) { 
    console.log('latitude: '+ position.coords.latitude); 
    console.log('longitude: '+ position.coords.longitude);     
} 

function onError(error) { 
    console.log('Appeared error : '+ error.message);     
} 

항상 에뮬레이터 Failed to start Geolocation service, 오류 코드 2에 오류가.

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

답변

6

당신은 에뮬레이터에서이를 테스트 : 심지어 보내는 경우 GPS는 안드로이드 콘솔을 통해 또는 DDMS

안드로이드 매니페스트 권한을 조정? Geolocation Service는 Android 에뮬레이터에서는 항상 실패하지만 실제 장치에서는 실패합니다.

편집 : 당신이 위치를 얻으려고 노력하는 동안

document.addEventListener("deviceready", onDeviceReady, false); 

function onDeviceReady() { 
    navigator.geolocation.getCurrentPosition(myPositionSuccess, myPositionError, {maximumAge: 300000, timeout:10000, enableHighAccuracy : true}); 
}; 
+0

Android 2.3 버전의 실제 기기가 있지만 4.x 버전의 기기가 없습니다. 그래서 나는 에뮬레이터에서 테스트하고있다. 예, 실제 기기에는 그러한 오류가 없습니다. 그냥 에뮬레이터에. –

+0

해당 eventListener를 추가하십시오. – jmpenetra

+0

@ JoãoPenetra이 코드를 코드에 추가했는데 오류가 발생하지 않았습니다! 고마워! 하지만 ... 이제는 위치를 사용하는 Google 퓨전 테이블에 대한 JSONP 요청이 두 배가됩니다. 'enableHighAccuracy'를 사용하여 두 번의 호출을하는 이유를 생각해보십시오. 거기에 없으면 1 세트의 데이터 만 반환하지만 먼저 오류가 발생합니다. 파일은 다음과 같습니다. https://github.com/jamez14/TrailFinder/blob/master/TrailFinder/www/js/map.js – jamez14

6

당신은 trueenableHighAccuracy 옵션을 설정해야합니다 다음 코드를 사용하여 보시기 바랍니다. > Perspective 열기 - -

navigator.geolocation.getCurrentPosition(onSuccess, onError,{enableHighAccuracy:true}); 

또한, 에 에뮬레이터에 위치,

이클립스 좌표를 지정>는 DDMS -> 에뮬레이터 제어 -> 위치

가 지정 제어 위치 좌표 및 "보내기".

0

몇 주 동안이 문제를 해결하려고합니다. 나는 그물을 검색하고 그것이 안드로이드를 위해 개발할 때마다 대부분의 사람들이 phonegap에 관한이 문제를 가지고있는 것으로 보인다. 해결책은 GPRS가있는 장치에서 코드를 테스트하는 것이 었습니다. 또한 코드를 실행하기 전에 GPRS 및 무선 랜을 사용할 수 있는지 확인하십시오. 많은 기능과 버그가 있기 때문에 에뮬레이터를 사용하여 GPRS를 테스트하지 마십시오.

관련 문제