我正在Nexus 6P上使用“此处地图”来测试其导航路由逻辑。我已经完成了地图设置,目前正在尝试获取要显示在地图上的位置。
此处映射了运行在Android 6.0.1上的v3.2.1高级版
但是,每次我为PositioningManager实例调用start方法时,都会得到错误的返回。这是我的代码:
mapEngine.init(context, new OnEngineInitListener() {
@Override
public void onEngineInitializationCompleted(Error error) {
if (error == OnEngineInitListener.Error.NONE) {
setupMapView(mapView);
// Start the positioning manager
positioningManager = PositioningManager.getInstance();
positioningManager.addListener(new WeakReference<PositioningManager.OnPositionChangedListener>(positionListener));
if(positioningManager.start(PositioningManager.LocationMethod.GPS_NETWORK_INDOOR)){
Log.d(TAG, "LOCATION STARTED SUCCESSFUL");
}else{
Log.d(TAG, "LOCATION STARTED UNSUCCESSFUL");
}
map.getPositionIndicator().setVisible(true);
listener.onMapEngineCompleted(error);
} else {
// handle factory initialization failure
Log.d(TAG, error.toString());
Log.e(TAG, error.getDetails());
Log.e(TAG, error.getStackTrace());
listener.onMapEngineCompleted(error);
}
}
});
我还已经从系统授予了ACCESS_FINE_LOCATION权限
最佳答案
当我遇到相同的问题时,我将在此处输入@Marco的评论的答案。如果positioningManager.start()
方法返回false,则可能必须将其包括在AndroidManifest.xml
中:
<service android:enabled="true" android:exported="false" android:name="com.here.services.internal.LocationService" android:process=":remote"/>
这为我解决了这个问题。
关于android - 此处Maps Android SDK PositioningManager启动方法返回false,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39822535/