嗨,我是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);
有没有办法解决这个问题?任何帮助都将受到赞赏
答案 0 :(得分:0)
将下面的代码段放在onPostExecute
方法中:
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);