2013-12-18 85 views
0

我想添加標記到谷歌地圖片段。Android - 添加標記到谷歌地圖片段

下一個代碼用於當用戶在手機界面中時他點擊一個項目,這是一個列表視圖。

我想要做的就是替換列表細分,並用標記向用戶顯示地點的位置。

這是代碼我都用過,因爲當我要更換的片段 -

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()'不返回空值,那麼該片段還沒有被創建 – tyczj

+0

我試圖讓地圖顯示,而不是調用一個函數來添加標記 - 但現在有一張地圖,但沒有標記 – 4this