自Google I / O 2013以来,我们可以在the documentation of Google Maps Android API v2的几个地方阅读
不推荐使用此方法/接口。
请改用com.google.android.gms.location.LocationClient。 LocationClient提供改进的定位和功率使用,并由“我的位置”蓝点使用。请参阅示例应用程序文件夹中的MyLocationDemoActivity,例如示例代码或Location Developer Guide。
虽然新API出现很棒,但我想不出有任何理由将@Deprecated
放在这些方法上。
它们确实是一种非常方便的方式来访问蓝点指向的位置。
单行
Location location = map.getMyLocation();
检索我的位置与我们需要使用新的Location API编写的设置代码量相同,以获得相同的结果,并反对不推荐使用它们。
来自MyLocationDemoActivity(在ANDROID_SDK/extras/google/google_play_services/samples/maps/src/com/example/mapdemo/MyLocationDemoActivity.java
下):
// These settings are the same as the settings for the map. They will in fact give you updates at
// the maximal rates currently possible.
private static final LocationRequest REQUEST = LocationRequest.create()
.setInterval(5000) // 5 seconds
.setFastestInterval(16) // 16ms = 60fps
.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
评论表明这些硬编码值与地图中的相同,但这可能会在将来以不合需要的方式发生变化。
所有优点和缺点都在这里,决定弃用这些API的原因可能是什么?。
答案 0 :(得分:1)
还有一点。如果GoogleMap使用LocationClient,但我们无法访问其结果,并且我们必须使用另一个LocationClient和一堆侦听器,则它是同一任务的两个LocationClients。纯粹浪费资源。