android - 仅在获取当前位置时执行某些操作

标签 android android-mapview

我正在设计基于 map 的应用程序,我想在获取用户位置后执行某些步骤(蓝点已显示在 map 上)。在某些设备上,由于定位服务启动过程可能需要长达 1 分钟的时间。所以问题是我如何知道 Android Map 何时设法获取我的位置,以便我可以开始执行其余的初始化过程?

我正在考虑实现自己的 LocationListener 并在收到位置时触发回调,但这个解决方案似乎毫无值(value),因为我只需要知道获取当前位置和蓝点的时间点显示。我不关心位置更新。

最佳答案

如果您在谈论 map 上的蓝点,我想您会将 MyLocationOverlay 添加到您的 map 中。如果是这样,有一个简单的方法来做你想做的事 - MyLocationOverlayrunOnFirstFix(Rannable) 接口(interface),所以提供 Runnable 将是 map 获取您的当前位置后立即运行:

this.currentLocationOverlay.runOnFirstFix(new Runnable() {
        @Override
        public void run() {
            //do your magic here
        }
    });

关于android - 仅在获取当前位置时执行某些操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14736137/

相关文章:

java - 如何在应用程序的 map 上显示动画驾驶员汽车

android - 在小米设备上运行 Monkey 测试返回异常

android - Osmdroid 离线模式在缩放后更新图 block

android - 如何旋转 MapView?

java - 即使使用异步也会出现 networkOnMainThreadException 错误

android - 如何将视频文件转换为 Base64 字符串,反之亦然?

android - 媒体查询用两种风格捕捉一切

android - 从 mMapView.getOverlays() 获取标记 (org.osmdroid.bonuspack.overlays)

android - Android 3.0 Honeycomb Preview AVD 模拟器中的 MapView?

android - map View 使用 google Directions API 绘制方向 - 解码多段线