Android手机上的错误“无法启动地理定位服务代码:2”

Posted

技术标签:

【中文标题】Android手机上的错误“无法启动地理定位服务代码:2”【英文标题】:Error "Failed to Start Geolocation service code: 2" on Android phone 【发布时间】:2014-11-26 04:04:24 【问题描述】:

我是 IBM Worklight 的新手。在使用谷歌地图时,我需要使用 gps 获取设备的当前位置。

我在模拟器上没有收到任何错误,但在手机中收到以下警报

"message":."启动地理定位服务失败","code":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);
        
      );
    

【问题讨论】:

【参考方案1】:

确保您在 android\native\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);

【讨论】:

以上是关于Android手机上的错误“无法启动地理定位服务代码:2”的主要内容,如果未能解决你的问题,请参考以下文章

Android手机上的错误“无法启动地理定位服务代码:2”

有关如何修复Android手机上的SSL连接错误的快速指南

是否可以在 Android 手机上的 Chrome 中打开开发者工具控制台?

Android 设备上的 Apollo 网络错误(React Native)

Android 2.3.4 上的应用程序未安装错误

Nexus设备上的Android相机捕获活动错误