2013-11-20 2 views
0

HTML5 + PhoneGap에서 작동 중입니다. 내 응용 프로그램에서 나는 위도와 경도를 얻으려면 위약 처지 Geolocation이 필요합니다.PhoneGAP Geoloaction이 Android에서 작동하지 않습니다.

내가 PhoneGap Website

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

// Cordova is ready 
// 
function onDeviceReady() { 
    alert('deviceready'); 
    //navigator.geolocation.getCurrentPosition(onSuccess, onError); 

    navigator.geolocation.getCurrentPosition(onSuccess); 
} 

// onSuccess Geolocation 
// 

function onSuccess(position) { 
    var element = document.getElementById('geolocation'); 
    element.innerHTML = 'Latitude: '   + position.coords.latitude    + '<br />' + 
         'Longitude: '   + position.coords.longitude    + '<br />' + 
         'Altitude: '   + position.coords.altitude    + '<br />' + 
         'Accuracy: '   + position.coords.accuracy    + '<br />' + 
         'Altitude Accuracy: ' + position.coords.altitudeAccuracy  + '<br />' + 
         'Heading: '   + position.coords.heading    + '<br />' + 
         'Speed: '    + position.coords.speed     + '<br />' + 
         'Timestamp: '   +         position.timestamp   + '<br />'; 
} 

// onError Callback receives a PositionError object 
// 
function onError(error) { 
    alert('code: ' + error.code + '\n' + 
      'message: ' + error.message + '\n'); 
} 

그러나 그것이 작동하지에서 예제 코드를 가지고 검색 할 때! 항상 표시 지오 로케이션을보고 ...하지만 세부 정보가로드되지 않습니다. 이 문제를 검색 한 결과 올바른 해결 방법을 얻지 못했습니다.

나는 같은 문제가 여기에 게시하지만 솔루션 내가 위도의 세부 정보와 경도 정보가 폰갭을 사용하여 얻을 수있는 방법이 :(

에서 워킹되지 않는 것을 발견?

아무도 나를 도와 드릴까요 ???

답변

0

1 년 전과 비슷한 문제가 있었는데 당시 해결책은 내 휴대 전화를 재부팅하는 것이 었습니다. 하나의 X Android 4.0을 사용할 수있었습니다. 전화 갭 버전을 기억하지 못했지만 phonegap을 사용하지 말아야하는 이유의 완벽한 예가되었습니다. .

문제가 높은 정확도 옵션과 함께 작동하지 않을 수 있습니다 : http://docs.phonegap.com/en/3.1.0/cordova_geolocation_geolocation.md.html#Geolocation enableHighAccuracy를 false/true로 전환 해 봅니다.

+0

네 navigator.geolocation.getCurrentPosition (onSuccess, onError, {enableHighAccuracy : true})을 시도했습니다. 하지만 아직 작동하지 않습니다 : ( –

0

일부 Android 기기 및 에뮬레이터는 높거나 낮은 GPS 정확도 만 지원합니다.

정확도가 낮은 코드를 실행 해보십시오. 문제가 해결되지 않으면

function onDeviceReady() { 
    var options = { enableHighAccuracy: true }; // also try with false. 
    navigator.geolocation.getCurrentPosition(onSuccess, onError, options); 
} 

은 옵션에서 제한 시간을 조정하려고, 그리고 마지막으로 어쩌면 당신은 제대로 안드로이드 프로젝트에 GPS 권한을 설정하지 않았습니다. 앱 매니페스트를 확인하여 설정 한 권한 또는 설정하지 않은 권한을 확인합니다.

+0

안녕하세요 .. @ David Rust-Smith 나는 이미 app/res/xml/config.xml과 app/AndroidManifest.xml에서 모든 권한을 설정했습니다. 그러나 작동하지 않습니다. ( –

+0

http를 거칩니다. : //docs.phonegap.com/en/2.7.0/cordova_geolocation_geolocation.md.html#Geolocation –

0

우리는 항상 브라우저의 html5 구현을 native로 사용하지 않는다고 생각합니다. 코드 오바 원주민 함수를 사용하여 위치를 찾습니다.

관련 문제