2013-02-28 111 views
32

顯示地圖標記標題我添加默認標記的GoogleMap方式如下:始終在Android的

GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(R.id.editMapMap)).getMap(); 

MarkerOptions markerOptions = new MarkerOptions(); 
markerOptions.position(currentLocation.getCoordinate()); 
markerOptions.title(Utils.getLocationString(currentLocation.getCoordinate())); 
markerOptions.snippet("Blah"); 

locationMarker = map.addMarker(markerOptions); 
locationMarker.setDraggable(true); 

我怎樣才能使標誌始終顯示標題和摘要沒有聯繫?我也想禁用他們隱藏他們。

回答

77

這是很容易:

locationMarker.showInfoWindow(); 
3

只返回false爲onMarkerClickListener,如果你返回true顯示infoWindow

要隱藏標題,當我們點擊標記:

map.setOnMarkerClickListener(this); 
... 

@Override 
public boolean onMarkerClick(Marker arg0) {  
    Log.i(TAG,"marker arg0 = "+arg0);    
    return false; 
} 

如果我們返回true標題會顯示,否則,如果我們返回false標題不會顯示。

+0

這可能對谷歌地圖V2?我回到假,但標記仍然顯示標題... – Ricky 2014-03-31 09:33:35

+0

是的。它適用於V2。我只嘗試了v2。另一種選擇是,那是把標題作爲空字符串。即「」。但不好 – sandeepmaaram 2014-04-03 06:23:56

3

有兩種顯示和隱藏標記的方法。布爾返回值只是防止發生默認行爲(false)或允許它發生(true)。換句話說,它通知系統你是否使用了該事件。請參閱Google API Reference

private GoogleMap.OnMarkerClickListener onMarkerClickedListener = new GoogleMap.OnMarkerClickListener() { 
    @Override 
    public boolean onMarkerClick(Marker marker) { 
     if (marker.isInfoWindowShown()) { 
      marker.hideInfoWindow(); 
     } else { 
      marker.showInfoWindow(); 
     } 
     return true; 
    } 
}; 

mGoogleMap.setOnMarkerClickListener(onMarkerClickedListener); 
2

使用showInfoWindow()並添加標記如下。

Marker marker = mMap.addMarker(new MarkerOptions().position(currentPosition).title("Your text")); 
marker.showInfoWindow();