android - getProjection().getVisibleRegion().latLngBounds; onMapReady 后返回 0

标签 android google-maps

在我的 Google map 初始化后,我试图从设备屏幕上的可见区域获取 LatLngBounds。但是我只收到 0 值。我的猜测是即使在调用 OnMapReady 之后, map 实际上还没有加载。我四处寻找检查 map 初始化的更好方法,但一无所获。我如何确保收到正确的数据?

初始化 map

public void initMap(){
    MapFragment map = (MapFragment) getFragmentManager().findFragmentById(R.id.mapFragment);
    map.getMapAsync(this);
}

map 就绪回调

@Override
public void onMapReady(GoogleMap googleMap) {    

    try {
        if (googleMap != null) {
            mGoogleMap = googleMap;
            mGoogleMap.setOnMarkerClickListener(this);
            mGoogleMap.setOnCameraChangeListener(this);
            mGoogleMap.setOnMapClickListener(this);
            mGoogleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
            search();
        }

    } catch (Exception exception) {
        mUtility.getThemedAlert(this,
                getResources().getString(R.string.error_google_maps),
                getResources().getString(R.string.unable_build_google_maps)).show();
    }
}

获取边界

public void search() {
    LatLngBounds bounds = mGoogleMap.getProjection().getVisibleRegion().latLngBounds;
    Log.e("TEST", bounds.toString());
}

日志输出

E/TEST﹕ LatLngBounds{southwest=lat/lng: (0.0,0.0), northeast=lat/lng: (0.0,0.0)}

最佳答案

OnMapLoaded 函数有帮助。谢谢。

这是我的代码,

map.setOnMapLoadedCallback(new GoogleMap.OnMapLoadedCallback() {
                @Override
                public void onMapLoaded() {

                    invokeApi();
                }
});

关于android - getProjection().getVisibleRegion().latLngBounds; onMapReady 后返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31548243/

相关文章:

java - 为每个新标记添加标题

android - 多点映射 Intent

android - Android 中的地理围栏问题

android - 游标索引越界异常

android - 在 Focus React Native 上更改 TextInput 样式

android - Room 的 JavaDoc 在哪里?

java - Gradle 构建失败,:mergeDebugResources 中的 sun.awt.X11GraphicsEnvironment 出现 NoClassDefFoundError

flutter + 谷歌地图 : how to remove system markers?

javascript - 如何确保我的应用程序可以在没有互联网连接的情况下与 Google map 等外部库配合使用?

javascript - 将 Google Maps API v3 区域设置为加拿大