2016-11-29 58 views
1

我們可以在谷歌中使用Custom MarkerOptions嗎?谷歌地圖中的自定義標記選項

我想使用Custom MarkerOptions在對話框中顯示圖像,如enter image description here包含名稱作爲標題,以及其中的兩個圖像。

<ImageView 
    android:id="@+id/badge" 
    android:layout_width="18dp" 
    android:layout_height="wrap_content" 
    android:layout_marginRight="5dp" 
    android:src="@drawable/image_2" 
    android:adjustViewBounds="true"></ImageView> 

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 

    <TextView 
     android:id="@+id/title" 
     android:layout_width="20dp" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:ellipsize="end" 
     android:text="harish" 
     android:singleLine="true" 
     android:textColor="#ff000000" 
     android:textSize="7dp" 
     android:textStyle="bold" /> 

    <ImageView 
     android:id="@+id/snippet" 
     android:layout_width="10dp" 
     android:layout_height="10dp" 
     android:ellipsize="end" 
     android:src="@drawable/icon_location2" 
     android:singleLine="true" 
     android:textColor="#ff7f7f7f" 
     android:textSize="14dp" /> 
</LinearLayout> 

在默認MarkerOption我只能拿到冠軍,片段在對話框中是這樣的:

public void addMarkersToMap() { 
    mArun = mMap.addMarker(new MarkerOptions() 
      .position(ARUN) 
      .title("Arun") 
      .snippet("Match stat:") 
      .icon(BitmapDescriptorFactory.defaultMarker 
       (BitmapDescriptorFactory.HUE_AZURE))); 

enter image description here

幫助我做一些建議。

+0

這有助於我的情況! http://androidfreakers.blogspot.com/2013/08/display-custom-info-window-with.html 謝謝 –

回答

2

您將不得不使用GoogleMap類的setInfoWindowAdapter方法。

GoogleMap mMap;//You have to initialise it. 

mMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() { 
      @Override 
      public View getInfoWindow(Marker marker) { 
       return null; 
      } 

      @Override 
      public View getInfoContents(Marker marker) { 
       /* 
       Here you will inflate the custom layout that you want to use for marker. I have inflate the custom view according to my requirements. 
       */ 
       View v = getLayoutInflater().inflate(R.layout.custom_marker_info_window, null); 
       TextView textView = (TextView) v.findViewById(R.id.text); 
       textView.setSelected(true); 
       textView.setText(poiPlayerData.getName()); 
       return v; 
      } 
     });