在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:Android_ClusterMarker开源软件地址:https://gitee.com/lbs/Android_ClusterMarker开源软件介绍:本工程为基于高德地图Android SDK进行封装,实现了Marker聚合效果的例子##前述:
##效果图如下: ##版本更新1.0.0 提供了基本的聚合效果,用户可以自定义渲染方式 ##下载资源:
使用方法:
//初始化 ClusterOverlay clusterOverlay = new ClusterOverlay(mAMap, dp2px(getApplicationContext(), clusterRadius), getApplicationContext()); for (int i = 0; i < ConstantUtils.latlngs.length; i++) { RegionItem regionItem = new RegionItem(ConstantUtils.latlngs[i], ConstantUtils.names[i]); clusterOverlay.addClusterItem(regionItem); }
//设置自定义绘制接口和聚合点点击接口 clusterOverlay.setClusterRenderer(this); clusterOverlay.setOnClusterClickListener(this);
public Drawable getDrawAble(int clusterNum) { //根据聚合点数目不一样对聚合点进行不同样式的渲染 int radius = dp2px(getApplicationContext(), clusterRadius); if (clusterNum == 1) { return getApplication().getResources().getDrawable( R.drawable.icon_openmap_mark); } else if (clusterNum < 5) { BitmapDrawable drawable = new BitmapDrawable(drawCircle(radius, Color.argb(159, 210, 154, 6))); return drawable; } else if (clusterNum < 10) { BitmapDrawable drawable = new BitmapDrawable(drawCircle(radius, Color.argb(199, 217, 114, 0))); return drawable; } else { BitmapDrawable drawable = new BitmapDrawable(drawCircle(radius, Color.argb(235, 215, 66, 2))); return drawable; } }
public void onClick(Marker marker, List<ClusterItem> clusterItems) { String content = ""; for (ClusterItem clusterItem : clusterItems) { RegionItem item = (RegionItem) clusterItem; content += item.getTitle() + " "; } infoTextView.setText(content); } |
请发表评论