Google Maps v2 - 如何知道何时显示蓝点

时间:2013-08-21 10:58:31

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

我想知道当GoogleMaps提供/显示代表用户当前位置的蓝点时是否可能知道。
实际上,我想显示一个进度条,直到那个蓝色提供了dot,这就是为什么我必须知道后者何时可用。
我现在正在使用LocationClient类来调用connect()方法之后获取用户的位置但我实际上可以'确定何时获得良好的定位(由蓝点表示) 我还想放大找到的位置,这就是我使用这个回调函数的原因,如果还没有找到修复,有时会放大错误的位置。

private LocationResult locDepart = new LocationResult() {       
    @Override
    public void gotLocation(Location location) {    
        Location loc = location;
        if (loc != null) {
            LatLng coordonnees = new LatLng(loc.getLatitude(), loc.getLongitude());
            final CameraPosition cameraPosition = new CameraPosition.Builder()
            .target(coordonnees)      // Sets the center of the map to Mountain View
            .zoom(18)                   // Sets the zoom
            .bearing(90)                // Sets the orientation of the camera to east
            .tilt(10)                   // Sets the tilt of the camera to 30 degrees
            .build();                   // Creates a CameraPosition from the builder
            runOnUiThread(new Runnable () {
                @Override
                public void run() {
                    map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
                }           
            });
        } 
        mHandler.sendEmptyMessage(0);
    }
};

感谢您的回答。

2 个答案:

答案 0 :(得分:0)

您可以使用自己的标记替换内置我的位置功能,因此显示进度条(或busy),除非位置提供程序提供位置修复应该是微不足道的

答案 1 :(得分:0)

使用

googleMap.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() {
    ...
});

让自己了解蓝点的位置何时发生变化。

如果在启用myLocation点之前进行设置,则应在首次出现时回叫。