這是我的問題。我目前有一個3件物品的導航抽屜。我希望這些項目中的一個是地圖。我已經遵循谷歌文檔,並已成功創建我的地圖。問題是我的標記不會顯示出來。我知道問題是什麼,但我不知道如何解決它。將谷歌地圖添加到導航抽屜
這是地圖片段。正如你可以看到我正在執行OnMapReadyCallback
,我也包含了onMapReady()
方法。 onMapReady()
沒有被調用(這是問題),因爲我沒有調用getMapAsync()
方法。我不知道應該在哪裏放置它,更不用說如何根據我的代碼來調用它。
我還在我的Navigation Drawer中包含了調用地圖片段的代碼。地圖xml就像google文檔示例中的一樣。就像我之前說過的;我的地圖確實有效,但標記不顯示,因爲onMapReady()
未被調用。
地圖碎片:
public class MapsFragment extends Fragment implements OnMapReadyCallback {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.activity_maps, container, false);
return rootView;
}
@Override
public void onMapReady(GoogleMap googleMap) {
googleMap.addMarker(new MarkerOptions().position(new LatLng(29.702182, -98.124561)).title("marker"));
googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
}
}
抽屜式導航代碼:
private void selectItem(int position) {
Toast.makeText(MainActivity.this, "Time for an upgrade", Toast.LENGTH_SHORT).show();
// This is where the fragment view changes will be put
Fragment fragment = null;
switch (position) {
case 0:
fragment = new Blank1Fragment();
break;
case 1:
//fragment = new Blank2Fragment();
fragment = new MapsFragment();
break;
case 2:
fragment = new Blank3Fragment();
break;
default:
break;
}
if (fragment != null) {
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
mDrawerLayout.closeDrawer(mDrawerList);
} else {
}
}
我對我的帖子做了一些編輯。你能告訴我建議的代碼應該在哪裏以及如何正確實現。 – jdubicki