我们可以在谷歌中制作自定义标记选项吗?
我想使用Custom MarkerOptions在对话框中显示图像,例如包含名称作为标题,以及其中的两个图像。
<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)));
帮我提一些建议。
答案 0 :(得分:3)
您必须使用setInfoWindowAdapter
类的GoogleMap
方法。
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;
}
});