Google Maps Android API v2 - 与我的位置相关的API已弃用。为什么?

时间:2013-06-06 20:12:29

标签: android google-maps google-maps-android-api-2

自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的原因可能是什么?

1 个答案:

答案 0 :(得分:1)

还有一点。如果GoogleMap使用LocationClient,但我们无法访问其结果,并且我们必须使用另一个LocationClient和一堆侦听器,则它是同一任务的两个LocationClients。纯粹浪费资源。