2013-07-12 13 views
5

Używam InfoWindowAdapter dodać niestandardową infowindow do mojego marker.Everything jest w porządku z wyjątkiem jednej rzeczy, nie mogę znaleźć sposób, aby mieć okrągłą krawędź mojego infowindowDodaj okrągły egde do znacznika na mapie

I używam Google code mapV2.Any fragment odnośnie tego byłoby bardzo pomocne

+0

zrobić u chcą pokazać okno informacyjne z zaokrąglonym narożniku lub punktu u umieszczenie znacznika chcą pokazać rundę? – TheFlash

+0

@Pratik Chcę wyświetlić okno informacyjne z zaokrąglonym rogiem – Abx

+0

k czekam, aby opublikować odpowiedź. – TheFlash

Odpowiedz

12
gMap.setInfoWindowAdapter(new InfoWindowAdapter() { 

     @Override 
     public View getInfoWindow(Marker arg0) 
     { 
      View vMapInfo = ((Activity) context).getLayoutInflater().inflate(R.layout.map_info_layout, null); 
      return vMapInfo; 
     } 

     @Override 
     public View getInfoContents(Marker arg0) 
     { 
      //View v = getLayoutInflater().inflate(R.layout.map_info_layout, null); 
      return null;    

     } 
    }); 

map_info_layout.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:background="@drawable/bg_map_info" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:orientation="vertical" 
android:gravity="center_horizontal" 
> 

<RelativeLayout 
    android:layout_width="250dp" 
    android:layout_height="45dp" 
    android:background="@drawable/bg_map_info" 
    android:paddingTop="0dp" 
    android:paddingBottom="0dp" 
    android:paddingLeft="5dp" 
    android:paddingRight="5dp" 
    > 

    <TextView 
     android:id="@+id/tvMapStoreName" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="3dp" 
     android:layout_marginTop="2dp" 
     android:layout_marginLeft="5dp" 
     android:layout_marginRight="5dp" 
     android:layout_toLeftOf="@+id/ivMapGo" 
     android:ellipsize="end" 
     android:lines="1" 
     android:text="test text test text test text test text " 
     android:textColor="#ffffff" 
     android:textSize="@dimen/txt_size_common" 
     android:textStyle="bold" /> 

    <ImageView 
     android:id="@+id/ivMapGo" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:src="@drawable/ic_launcher" /> 

    <TextView 
     android:id="@+id/tvMapStoreDistance" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/tvMapStoreName" 
     android:layout_below="@+id/tvMapStoreName" 
     android:lines="1" 
     android:text="100 Miles" 
     android:textColor="#FFFFFF" 
     android:textSize="12dp" 
     android:textStyle="normal" /> 

</RelativeLayout> 



</LinearLayout> 

i poniżej znajduje się kod XML tła okna informacyjnego.

bg_map_info.xml

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item> 
    <shape android:shape="rectangle"> 
     <gradient android:angle="-90" android:startColor="#a0333333" 
      android:endColor="#a0000000" /> 
     <corners 
      android:bottomLeftRadius="5dp" 
      android:bottomRightRadius="5dp" 
      android:topLeftRadius="5dp" 
      android:topRightRadius="5dp" />   

    </shape> 
</item> 
<item android:top="20dp"> 
    <shape android:shape="rectangle"> 
     <gradient android:angle="-90" android:startColor="#70000000" 
      android:endColor="#70000000" /> 
     <corners 
      android:bottomLeftRadius="5dp" 
      android:bottomRightRadius="5dp" 
      android:topLeftRadius="5dp" 
      android:topRightRadius="5dp" />  </shape> 
</item> 
</layer-list> 
+1

Próbowałem twój kod, ale wat to, że pokazuje widok z kwadratowymi krawędziami i w tym widoku daje widok okrągły. – Abx

+0

@Ahhilash wypróbuj moją zredagowaną odpowiedź. Właśnie zmieniłem Androida: background = "# 00ffffff" na android: background = "@ drawable/bg_map_info" – TheFlash

+0

tworzy to układ z zaokrąglonymi narożnikami, ale ukrywa zawartość. jakikolwiek pomysł, dlaczego tak się dzieje? – TharakaNirmana

Powiązane problemy