2014-11-26 2 views
0

Google Worklight를 처음 사용합니다. Google지도를 사용하면서 GPS를 사용하여 기기의 현재 위치를 확인해야합니다.Android 폰에서 "Geolocation service code : 2"오류가 발생했습니다.

나는 점점 에뮬레이터하지만 전화에 어떤 오류가 발생하고 있지 않다 다음과 같은 경고

{ "메시지"., "코드", "위치 정보 서비스를 시작하지 못했습니다": 2}

하는 것은 다음을 코드가 사용 중입니다.

function alertGeo() { 
    navigator.geolocation.getCurrentPosition(onSuccess, onError); 
    function onSuccess(position) { 
     codeLatLng(position.coords.latitude,position.coords.longitude); 
    } 
    function onError(error) { 
     alert(JSON.stringify(error)); 
    } 
} 


function codeLatLng(lat,lng) { 

     var latlng = new google.maps.LatLng(lat, lng); 
     geocoder = new google.maps.Geocoder(); 
     geocoder.geocode({'latLng': latlng}, function(results, status) { 
     if (status == google.maps.GeocoderStatus.OK) { 
      if (results[1]) { 
      alert("Address: " + results[1].formatted_address); 

      } else { 
      alert('No results found'); 
      } 
     } else { 
      alert('Geocoder failed due to: ' + status); 
     } 
     }); 
    } 

답변

2

당신이 안드로이드 \ 기본 \의 AndroidManifest.xml에서 설정 한 다음 사용 권한이 있는지 확인하십시오 :

<uses-permission android:name="android.permission.INTERNET" /> 
<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" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

또한 enableHighAccuracy: true 옵션을 추가하십시오 :

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