我正在调用createMarker,它在循环运行时动态添加数据。我正在使用InfoWindowAdapter添加标记选项。但是我有问题,当我点击带有infoContent的标记时,它不会改变。
以下是我添加标记选项的方法..
public MarkerOptions createMarker(final String Date, final String Time, final String Location, final String Engine,final String Remarks, Double latitude, final Double longitude, final String Plate_num) {
System.out.println(Location + " lLocation");
mMapFragment.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
@Override
public View getInfoWindow(Marker marker) {
return null;
}
@Override
public View getInfoContents(Marker marker) {
View v = getActivity().getLayoutInflater().inflate(R.layout.custom_info_contents_vehicle_map, null);
TextView plate_nu = (TextView) v.findViewById(R.id.plate_num);
TextView dat = (TextView) v.findViewById(R.id.date);
TextView tim = (TextView) v.findViewById(R.id.time);
TextView loc = (TextView) v.findViewById(R.id.location);
TextView engin = (TextView) v.findViewById(engine);
TextView remark = (TextView) v.findViewById(R.id.rema);
plate_nu.setText(Plate_num);
dat.setText(Date);
tim.setText(Time);
loc.setText(Location);
engin.setText(Engine);
remark.setText(Remarks);
return v;
}
});
return new MarkerOptions()
.position(new LatLng(latitude, longitude))
.title("Plate No.")
.snippet(Plate_num)
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE));
}
我正在使用system out输出位置,它确实发生了变化。但是,在问题所在的infocontents内部。我没有看到任何更改,或者如何使用上面的代码使用InfoWindowAdapter
更改数据?
答案 0 :(得分:0)
当您点击标记时,首先会隐藏您的信息窗口并在完成工作后更改信息窗口的内容,然后显示信息窗口。我会改变你的代码,请做同样的事情。
mMapFragment.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(final Marker marker) {
marker.hideInfoWindow();
vm = new VehicleMap();
vm.setPlate_num(marker.getSnippet());
latitudeG = marker.getPosition().latitude;
longitudeG = marker.getPosition().longitude;
marker.showInfoWindow();
BottomSheetDialogFragment bottomSheetDialogFragment = new BottomSheetModalMapFragment(activity);
bottomSheetDialogFragment.show(getFragmentManager(), bottomSheetDialogFragment.getTag());
return true;
}
});
答案 1 :(得分:0)