2013-12-18 4 views
0

Я пытаюсь добавить маркер в фрагмент карты Google.android - добавление маркера в фрагмент карты google

следующий код предназначен для того, когда пользователь находится в интерфейсе телефона, и он нажимает на элемент, который находится внутри списка.

все, что я хочу сделать, это заменить список и показать пользователю местоположение места с помощью маркера.

Это код я использовал, когда я хочу, чтобы заменить фрагмент -

GoogleMapOptions options = new GoogleMapOptions(); 
     options.camera(CameraPosition.fromLatLngZoom(place, 17)); 
     options.mapType(GoogleMap.MAP_TYPE_SATELLITE); 
     SupportMapFragment mapFrag = SupportMapFragment.newInstance(options); 
     FragmentManager fm = getSupportFragmentManager(); 


     if (marker != null) { 
      marker.remove(); 
     } 


     GoogleMap map = mapFrag.getMap(); 

     MarkerOptions markerOptions = new MarkerOptions(); 
     markerOptions.position(place); 
     markerOptions.title(name); 


     marker = map.addMarker(markerOptions); 

     FragmentTransaction ft = fm.beginTransaction(); 
     ft.replace(R.id.phone_cont, mapFrag, "map"); 
     Log.d(TAG, "AFTER TWO LINES"); 
     ft.addToBackStack(null); 
     ft.commit(); 

Но это, кажется, сделать приложение дробления, любая идея, что я делаю неправильно здесь?

ответ

0

потому, что вы делаете все это

GoogleMap map = mapFrag.getMap(); 

    MarkerOptions markerOptions = new MarkerOptions(); 
    markerOptions.position(place); 
    markerOptions.title(name); 


    marker = map.addMarker(markerOptions); 

, прежде чем вы даже создали карту таким образом mapFrag.getMap() является нулевым

вам нужно создать маркер после того, как фрагмент был создан

+0

так, что я нужно сделать для того, чтобы сначала создать фрагмент, а не добавлять маркер? – 4this

+0

вам нужно создать фрагмент, дождаться его создания, и вы сможете делать то, что хотите с картой. всегда проверяйте, чтобы 'getMap()' не возвращал значение null, это значит, что фрагмент еще не был создан – tyczj

+0

Я попытался сделать так, что карта будет показана, и чем вызов функции для добавления маркера - но теперь есть карта, но нет маркера – 4this

Смежные вопросы