在 Clustered Marker 中传递数据
Pass data inside Clustered Marker
这些天我真的在使用 google map util 苦苦挣扎,一个又一个挑战,网上没有很好的例子或解决方案。
这是我的代码:
@Override
protected void onBeforeClusterRendered(Cluster<ItemCluster> cluster,
MarkerOptions markerOptions) {
View marker = (getActivity()
.getLayoutInflater())
.inflate(R.layout.info_windows, null);
Bitmap bitmap = createDrawableFromView(
getActivity(), marker);
markerOptions.icon(BitmapDescriptorFactory.fromBitmap(bitmap));
}
问题是在我将视图发送到此函数以制作标记位图之前,我尝试在我的 info_windows.xml 中设置一些数据,这些数据包含在一些 ImageView 和 TextView 中。但是应用程序挂起,您知道如何完成此操作吗?
Bitmap bitmap = createDrawableFromView(
getActivity(), marker);
我通过创建一个 IconGenerator 对象解决了我的问题,然后从中创建视图,我就是这样做的:
首先我制作了对象:
private final IconGenerator mClusterIconGenerator = new IconGenerator(getActivity().getApplicationContext());
和包含我们的 XML 服装标记视图文件的视图:
View markerIcon = getActivity().getLayoutInflater().inflate(R.layout.marker_icon, null);
然后在 icongenerator 上设置视图:
mMarkerIconGenerator.setContentView(markerIcon);
然后您需要启动图像视图、文本视图...然后设置要在服装标记内显示的值,例如:
mMarkerViento = (ImageView) clusterIcon.findViewById(R.id.viento);
然后在 ovveride 方法中:
@Override
protected void onBeforeClusterItemRendered(ItemCluster item, MarkerOptions markerOptions)
mMarkerViento.setImageResource(R.drawable.viento_ne2);
最后从图标生成器生成位图对象,如下所示:
mMarkerIconGenerator.setBackground(TRANSPARENT_DRAWABLE); // set the background as transparent
Bitmap bitmap = mMarkerIconGenerator.makeIcon(); // make a bitmap object from the icon object
markerOptions.icon(BitmapDescriptorFactory.fromBitmap(bitmap)); // set the bitmap as marker icon
祝你好运和 tanx
这些天我真的在使用 google map util 苦苦挣扎,一个又一个挑战,网上没有很好的例子或解决方案。
这是我的代码:
@Override
protected void onBeforeClusterRendered(Cluster<ItemCluster> cluster,
MarkerOptions markerOptions) {
View marker = (getActivity()
.getLayoutInflater())
.inflate(R.layout.info_windows, null);
Bitmap bitmap = createDrawableFromView(
getActivity(), marker);
markerOptions.icon(BitmapDescriptorFactory.fromBitmap(bitmap));
}
问题是在我将视图发送到此函数以制作标记位图之前,我尝试在我的 info_windows.xml 中设置一些数据,这些数据包含在一些 ImageView 和 TextView 中。但是应用程序挂起,您知道如何完成此操作吗?
Bitmap bitmap = createDrawableFromView(
getActivity(), marker);
我通过创建一个 IconGenerator 对象解决了我的问题,然后从中创建视图,我就是这样做的:
首先我制作了对象:
private final IconGenerator mClusterIconGenerator = new IconGenerator(getActivity().getApplicationContext());
和包含我们的 XML 服装标记视图文件的视图:
View markerIcon = getActivity().getLayoutInflater().inflate(R.layout.marker_icon, null);
然后在 icongenerator 上设置视图:
mMarkerIconGenerator.setContentView(markerIcon);
然后您需要启动图像视图、文本视图...然后设置要在服装标记内显示的值,例如:
mMarkerViento = (ImageView) clusterIcon.findViewById(R.id.viento);
然后在 ovveride 方法中:
@Override
protected void onBeforeClusterItemRendered(ItemCluster item, MarkerOptions markerOptions)
mMarkerViento.setImageResource(R.drawable.viento_ne2);
最后从图标生成器生成位图对象,如下所示:
mMarkerIconGenerator.setBackground(TRANSPARENT_DRAWABLE); // set the background as transparent
Bitmap bitmap = mMarkerIconGenerator.makeIcon(); // make a bitmap object from the icon object
markerOptions.icon(BitmapDescriptorFactory.fromBitmap(bitmap)); // set the bitmap as marker icon
祝你好运和 tanx