在Clustered Marker中传递数据

时间:2016-08-31 11:35:29

标签: android google-maps google-maps-android-api-2

我真的在谷歌地图使用这些天挑战挑战后,网上没有很好的例子或解决方案。

这是我的代码:

<Script type="text/javascript" >
 jQuery(document).ready(function() {
  JQuery('.Woo-buttons').insertAfter('price');
 });
</Script>

问题出在我将视图发送到此函数以创建标记的位图之前,我尝试在我的info_windows.xml中设置一些数据,这些数据包含在一些ImageViews和TextViews中。但该应用程序挂起,您是否知道如何完成此操作?

@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));

}

1 个答案:

答案 0 :(得分:0)

我通过创建一个IconGenerator对象来解决我的问题,然后从中创建视图,这就是我做到的:

首先我做了这个对象:

private final IconGenerator mClusterIconGenerator = new IconGenerator(getActivity().getApplicationContext());

以及包含我们的costum标记的XML视图文件的视图:

View markerIcon = getActivity().getLayoutInflater().inflate(R.layout.marker_icon, null);

然后在icongenerator上设置视图:

mMarkerIconGenerator.setContentView(markerIcon);

然后你需要启动你的imageview,textview,...然后设置你想要在你的服装标记内显示的值,例如:

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
祝你好运和烦恼