1

我想知道是否有可能知道 GoogleMaps 何时提供/显示代表用户当前位置的蓝点。
事实上,我想显示一个进度条,直到提供那个蓝点,这就是为什么我必须知道后者何时可用。
我目前正在使用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);
    }
};

感谢您的回答。

4

2 回答 2

0

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

于 2013-08-21T11:08:00.353 回答
0

利用

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

让自己知道蓝点的位置何时发生变化。

如果你在启用 myLocation 点之前设置它,你应该在它第一次出现时被回调。

于 2013-08-22T08:33:12.207 回答