地图中没有隐藏的多个信息窗口是从地图中选择的

时间:2018-02-28 04:46:44

标签: android google-maps google-maps-markers markers

我有这种方法可以创建自定义标记,但是如果infowindows超过2并且如果在地图的另一部分中选择它们它们不会消失,我希望它们可以被激活吗?

private void mMarker(String direction, Double latitude, Double longitude) {
    MarkerOptions markerOpt = new MarkerOptions();
    markerOpt.position(new LatLng(latitude, longitude))
            .title(direction)
            .snippet("").icon(BitmapDescriptorFactory.fromResource(R.drawable.pinc));

    CustomInfoWindows adapter = new CustomInfoWindows(MainActivity.this);
    gMap.setInfoWindowAdapter(adapter);
    gMap.addMarker(markerOpt).showInfoWindow();
    gMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
        @Override
        public void onInfoWindowClick(Marker marker) {

            launchPlaceSearchActivityOrigin();

        }
    });
}

自定义适配器*

public class CustomInfoWindows implements GoogleMap.InfoWindowAdapter {

private Activity context;


public CustomInfoWindows(Activity context) {
    this.context = context;
}

@Override
public View getInfoWindow(Marker marker) {
    View view = context.getLayoutInflater().inflate(R.layout.custominfowindows, null);

    TextView tvTitle = (TextView) view.findViewById(R.id.tv_title);
    TextView tvSubTitle = (TextView) view.findViewById(R.id.tv_subtitle);

    tvTitle.setText(marker.getTitle());
    tvSubTitle.setText(marker.getSnippet());



    return view;
}

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

}

1 个答案:

答案 0 :(得分:0)

由于任何时候只显示一个信息窗口,因此该提供程序可以选择重用视图,也可以选择在每个方法调用上创建新视图。

尝试使用自定义标记并一次显示多个

Custom Marker Options in google map