안녕하세요.
geolocation을 사용하는데 안되는 부분이 있어 글을 올립니다.
안드로이드(ios 포함)에서 webview로 서버쪽 지도 페이지를 사용하고 있습니다.
아래는 사용 중인 소스 중 location 관련 부분입니다.
현재 ios에서는 정상적(successCallback)으로 실행이 되는데
안드로이드에서는 에러도 안나고 그렇다고 성공되지도 않습니다.
안드로이드에서 webview로 geolocation을 사용할 때
다른 추가되어야 할 사항이 필요한지 알고 싶습니다.
찾아봐도 아래 내용만 사용하면 되는 것으로 나와서요.
if (navigator.geolocation) {
watchId = navigator.geolocation.watchPosition(successCallback, errorCallback, {
maximumAge : 0,
enableHighAccuracy : true
});
}
function successCallback(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
oMap.setCenter(new daum.maps.LatLng(latitude, longitude));
}
function errorCallback(error) {
switch (error.code) {
case error.UNKNOWN_ERROR:
alert("Unknown error!");
break;
case error.PERMISSION_DENIED:
alert("Permission to use Geolocation was denied");
break;
case error.POSITION_UNAVAILABLE:
alert("Unavailable");
break;
case error.TIMEOUT:
alert("Timeout error");
break;
}
AndroidManifest.xml 등록 사항
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />
<uses-permission android:name="android.permission.ACCESS_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
답변 좀 부탁드립니다.