0
我可以使用相同的locationManager为gps和网络提供商请求更新,或者我应该创建两个locationManagers并单独onLocation更改功能等。我对此非常困惑我应该为GPS和网络提供商使用单独的locationManager吗?
我可以使用相同的locationManager为gps和网络提供商请求更新,或者我应该创建两个locationManagers并单独onLocation更改功能等。我对此非常困惑我应该为GPS和网络提供商使用单独的locationManager吗?
您需要检查并查看哪一个在为了提供您想要使用它们,然后用相应的一个:
if(mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, LOCATION_UPDATE_MIN_TIME, LOCATION_UPDATE_MIN_DISTANCE, locationListener);
}
else if(mLocationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)){
mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, LOCATION_UPDATE_MIN_TIME, LOCATION_UPDATE_MIN_DISTANCE, locationListener);
}
您可以使用相同的侦听器,因为所有的听者的方法都作为参数Location
对象,它是源无关:
@Override
public void onLocationChanged(Location location) {
// updateLocation();
}
谢谢你,因为我想用这个模型来获得最佳性能(http://developer.android.com/guide/topics/location/obtaining-user-location.html),所以决定从哪里来的最佳位置几个网络和gps位置。你有什么想法我应该如何实现这篇文章中提到的时间窗口?如何听2分钟的更新为例,然后做... – Sandra
当你调用requestLocationUpdates()第二个参数是LOCATION_UPDATE_MIN_TIME,你可以将其设置为120000(两分钟) –
是的,但想法是有更新例如,最短时间设置为15秒,因此在2分钟的时间内,我将有大约4个位置(如果所有事情都按时钟进行),并从这个帖子中提供的函数的4个位置(isBetterLocation是名称我想)我会选择最准确的一个..但我想我可能有其他想法,谢谢你的回复。 – Sandra