在调用异步任务和onPostExecute之后如何绘制地图?

时间:2018-05-24 10:31:14

标签: android google-maps android-asynctask

嗨,我是Android的新手,我创建了一个带有地图的应用程序,当用户触摸某个国家时,它会导航到另一个显示国家/地区名称,城市,人口等的活动。

在下面我想绘制一张在该国城市有标记的地图。

几乎一切都在工作,除了我必须硬编码城市,因为我意识到在onPostExecute之前调用了onMapReady?但我在调用mapReady之前调用它。获取国家详细信息只是获取国家的城市,名称等。

在我的OnCreate中:

 final String selectedCountry = getIntent().getStringExtra("country");


    new GetCountryDetails().execute(selectedCountry);


    mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);

在我的onMapReady中:

LatLng capitalCity = getCityLatitude(this,city);
    googleMap.moveCamera(CameraUpdateFactory.newLatLng(capitalCity));

    MarkerOptions marker = new MarkerOptions().position(capitalCity).title(city);
    googleMap.addMarker(marker);

有没有办法解决这个问题?任何帮助都将受到赞赏

1 个答案:

答案 0 :(得分:0)

将下面的代码段放在onPostExecute方法中:

SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);