Đầu để có được sử dụng hiện tại vị trí tôi đã sử dụng LocationManager:Có lợi thế nào khi sử dụng FusedLocationProviderApi trên LocationManager không?
LocationManager locationManager = (LocationManager) getActivity().getSystemService(Context.LOCATION_SERVICE);
if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
} else if (locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
}
Nó rất dễ dàng để đọc và mã rất đơn giản.
Nhưng tôi đã nhận thấy rằng Google gần đây đã phát hành New Client API Model in Google Play Services và gợi ý để sử dụng FusedLocationProviderApi trông giống như phức tạp hơn nhiều, nó là async, nó đòi hỏi phải xử lý callbacks, vv
Có bất kỳ lợi thế của việc sử dụng FusedLocationProviderApi qua LocationManager?
Nó cung cấp độ chính xác tốt hơn với ít hao pin hơn, vì nó chuyển đổi giữa vị trí dựa trên GPS và WiFi. Để tránh sự phức tạp, tôi khuyên bạn nên sử dụng thư viện này: https://github.com/mcharmas/Android-ReactiveLocation – cYrixmorten