我有这样的方法可以创建自定义标记,但是如果在地图的另一部分中选择,我希望ifrowIndows被激活,如果它们超过两个,并且它们不会消失,这可能吗?
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;
}
}
由于一次只显示一个信息窗口,因此该提供商可以选择重复使用视图,或者可以选择在每个方法调用上创建新视图。
尝试使用自定义标记并一次显示多个
Google Map中的自定义标记选项