android - 经纬度为空@onMapReady

标签 android google-maps

当我使用 Retrofit 从服务器调用 lon,lat 时,数据就在这里;

双经度,纬度;

NetworkEngine.getInstance().getResDetail(id, new Callback<Restaurant>() {
            @Override
            public void success(Restaurant restaurant, Response response) {

                    lon = restaurant.getLon(); // Double
                    lat = restaurant.getLat(); // Double
                    Log.i("lon_", String.valueOf(restaurant.getLon())); //    lon_: -128.861048
                    Log.i("lat_", String.valueOf(restaurant.getLat())); //    lat_: 51.09783    
            }

但是@onMapReady lon,lat 为空。为什么?

@Override
public void onMapReady(GoogleMap googleMap) {

    Log.i("lonn_", String.valueOf(lon)); // null
    Log.i("latt_", String.valueOf(lat)); // null
    map = googleMap;
    LatLng location = new LatLng(lat, lon);

}

最佳答案

您的 onMapReady() 在 Retrofit 的 API 调用之前被调用。

因此,在 Retrofit 的 API 调用的 success() 方法中初始化您的 mapFragment.getMapAsync(this);

关于android - 经纬度为空@onMapReady,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43774674/

相关文章:

android - 如何保存android配置布局

android - 如何测量wifi LAN速度?

android - 将CSS注入(inject)android webview中的网页

javascript - 使用移动设备在桌面浏览器中扫描条形码

javascript - 谷歌地图 API : calculate remaining time according to predefined route

php - JSON异常: Value of type string cannot be converted to JSON Object?

reactjs - React Native MapBox 获取点击位置

javascript - 等待谷歌地图地理编码器?

google-maps - 如何在仅包含城市名称的谷歌地图 API 上获取城市的 Lat、Alt

javascript - 在 searchBox.addListener 调用新地点后,谷歌地图中的搜索城市不会更改地点