InfoWindow带单选按钮Maps v2 android

时间:2014-05-10 05:33:20

标签: android radio-button google-maps-android-api-2 infowindow

我想实现一个带有无线电组的信息窗口,我可以在其中选择选项。

我的代码:

public class PontosFragment extends Fragment {

@SuppressLint("NewApi")
  public View onCreateView(final LayoutInflater inflater, ViewGroup container,
          Bundle savedInstanceState) {


if (container == null) {
  return null;
}   

View v =  (RelativeLayout) inflater.inflate(R.layout.fragment_pontos, container, false);

final GoogleMap map = ((SupportMapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();

  LatLng CampoMourao = new LatLng(-24.046817,-52.379597);
  map.setMyLocationEnabled(true);
  map.moveCamera(CameraUpdateFactory.newLatLngZoom(CampoMourao, 15)); //


  MarkerOptions options = new MarkerOptions();
  options.position(CampoMourao);
  options.icon(BitmapDescriptorFactory.fromResource
        (R.drawable.ic_launcher));
  map.addMarker(options);    

  map.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() 
  {


    @Override
    public View getInfoWindow(Marker marker) {
        return null;
    }

    @Override
    public View getInfoContents(Marker marker) 
    {
        View v = inflater.inflate(R.layout.infowindow, null);

        return v;
    }
});

return v;

}

XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Irmãos Pereira"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<RadioGroup
    android:id="@+id/radioGroup1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <RadioButton
        android:id="@+id/radio0"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:checked="true"
        android:text="RadioButton" />

    <RadioButton
        android:id="@+id/radio1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="RadioButton" />

    <RadioButton
        android:id="@+id/radio2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="RadioButton" />
</RadioGroup>

1 个答案:

答案 0 :(得分:0)

Google Maps Info Windows are not "live" views。它们只是呈现为位图然后显示,因此它们不是交互式的。

一种选择是自己显示视图(通过GoogleMap.setOnMarkerClickListener()而不是使用InfoWindowAdapter)。但在这种情况下,您负责移动视图,然后滚动地图。

也就是说,有一些黑客可以实现(有限的)互动。例如,请参阅this answer