2016-04-27 87 views
0

我的目標是更改按鈕單擊時的標記標題。問題在於我無法獲取標記並將其標題設置爲onCreate(),因爲它已在onMapReady()中初始化。我有以下代碼:Android動態更改標記標題

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    button.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      updateMarkerTexts(marker, "ss", "gg"); 
     } 
    }); 

    return view; 
} 

@Override 
public void onMapReady(final GoogleMap googleMap) { 
    mMap = googleMap; 
    enableMyLocation(); 
    onMyLocationButtonClick(); 

    final Marker marker = mMap.addMarker(new MarkerOptions() 
       .position(new LatLng(51.2001, 62.9187)) 
       .title("Some title") 
       .snippet(getResources().getString(R.string.somestr)))); 


    mMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() { 
     @Override 
     public View getInfoWindow(Marker arg0) { 
      LayoutInflater inflater = (LayoutInflater)getContext().getSystemService (Context.LAYOUT_INFLATER_SERVICE); 
    //some params 
     } 

     @Override 
     public View getInfoContents(Marker arg0) { 
      return null; 
     } 

     getInfoWindow(marker); 
     marker.showInfoWindow(); 
    } 

回答

1

只需保存你的標記比如在你的類,而不是將其保存在您的onMapReady範圍:

Marker marker; 

@Override 
public void onMapReady(final GoogleMap googleMap) { 
    ... 
    marker = mMap.addMarker(new MarkerOptions() 
      .position(new LatLng(51.2001, 62.9187)) 
      .title("Some title") 
      .snippet(getResources().getString(R.string.somestr)))); 
+0

先生,你是天才要比! – TeodorKolev