2
내가 진짜 안드로이드 장치를 사용하고

작동하지 네이티브 navigator.geolocation.getCurrentPosition (버전 5.1)

내 응용 프로그램 내에서지도에 반응 - 기본 -지도 (올바른 파란색 점의 위치를 ​​사용하여 내 위치를 확인할 수 있어요 반응) + 나는 Google지도 앱을 사용할 수 있으며 내 위치 (GPS 작동)로 이동할 수 있습니다.

나는 enableHighAccuracy를 true 및 false로 전환하고 옵션을 제거하는 등 큰 시간 제한을 사용하고 있습니다. 모두 데이터를 얻기 위해 탐색기. 위치 정보를 가져 오지 못했습니다. 내가 얻고

var options = { 
    enableHighAccuracy: true, 
    timeout: 5000, 
    maximumAge: 0 
}; 

function success(pos) { 
    var crd = pos.coords; 

    console.log('Your current position is:'); 
    console.log(`Latitude : ${crd.latitude}`); 
    console.log(`Longitude: ${crd.longitude}`); 
    console.log(`More or less ${crd.accuracy} meters.`); 
}; 

function error(err) { 
    console.warn(`ERROR(${err.code}): ${err.message}`); 
}; 

navigator.geolocation.getCurrentPosition(success, error, options); 

: ERROR(3): Location request timed out

답변

1

두 가지

여기 내 코드입니다.

1) 실제로 좌표가 캐시되지 않으면 높은 정확도의 응답 시간 초과가 발생하지 않습니다. 2) 일부 장치에는 highAccuracy 설정에 문제가 있습니다.

시간 초과로 30000 ms를 넣고 작동하는 하나의 설정을 찾을 때까지 높은 정확도를 제거하십시오.

편집 : https://github.com/facebook/react-native/issues/7495

그래서,이 시도 :

1) 문제가 해결되지 않으면) maximumAge를 속성 2를 제거, 세 번째 매개 변수를 제거 나는 양식을 기본 반작용 내가 기억 된 긴 버그를 발견 네이티브 모듈의 기본값을 사용하십시오. 의미, 옵션 개체를 보내지 마십시오. 그게 효과가있다.

+0

답장을 보내 주셔서 감사합니다. https : //developer.mozilla.org/fr/docs/Web/API/Geolocation/getCurrentPosition에서 코드를 붙여 넣기 만하면됩니다. 하지만 다른 설정'{ enableHighAccuracy : false, timeout : 50000, maximumAge : 0 }'을 사용하고 있는데 실패했습니다. –

+0

나는이 결과를 얻고있다 : https://imgur.com/a/JL40m. 페이지를 연 후 몇 초. 그러나 프로그래밍 방식으로 데이터를 가져올 수 없습니다. –

+0

나는 지름이 너무 크기 때문에 높은 심한 정도는 믿지 않는다. 휴대 전화에서 GPS를 사용할 수 있습니까? 앱에 훌륭한 위치 permissoons에 대한 액세스 권한을 부여 했습니까? (매니페스트 및 앱의 보안 페이지에 있음) – sfratini