百度地图聚合点的展示

原创 2016年09月25日 23:19:04

转载请声明原文地址:http://blog.csdn.net/sagittarius1988/article/details/52665300

前言

好久没有更新博客了,一直在忙着项目地图实景图聚合的功能。来简单介绍下聚合的效果和实现的方法吧。

效果

先上图看效果
效果1
效果2
效果3

3张效果图,展示了3个地图层级的聚合效果。这里实现的效果,类似高德地图的实景图,有兴趣的小伙伴可以下个高德地图看看实景图的功能,不过高德的实景图效果,看着像是服务器已经将实景图进行按地点归类好的,所以估计也不需要使用聚合算法,实现起来会简单很多。

代码实现

在本项目的功能情景下,我们需要将服务器传回的点,按相互之间的距离进行归类聚合,现在最常见的聚合算法,大概就是K均值算法了。研究了K均值算法后,发现这里有个假定,就是K值是已知的,这显然对地图来说是不适用的,需要修改,使K值随地图的缩放层级和各个点的位置而变化。
这里使用的是百度地图,所以先查看百度地图的sdk,百度其实是有提供点聚合的功能,并且还提供了简单的聚合demo
百度地图聚合sdk
上图中红框内的就是百度聚合功能的核心api,api里各个类的代码功能,下次再讲解。

有了百度地图的这个api后,对地图点稍做适配,便可实现点的聚合效果了,但是实景图的效果,还是得自己去实现的。

我们知道,百度地图中,要显示效果图中的多个实景图,需使用百度地图中的Marker进行显示。简单的Marker显示,当然难不倒我们,但是当我们自定义好Marker的View后,实景图里的网络图片要怎么显示呢?最开始,我直接使用了ImageLoader(我这里使用的这个库进行图片加载)的
displayImage(String uri, ImageView imageView, ImageLoadingListener listener);
发现虽然logcat中显示已经下载好图片了,但压根就不会对Marker上的图片进行更新。
到百度地图的社区上查找问题,发现百度地图的Marker在你设置了view后,就跟你设置的view没关系了,就是说你无法控制view里的控件来更新Marker。所以说,只能在图片加载完后,再通过重新设置Marker的view,也就是BitmapDescriptor来更新Marker上的图片了。所以这里,我们需要使用图片的url做为key来记录显示的Marker,以便在图片加载完后去更新Marker。
但是测试的效果是,会经常出现部分Marker上图片不更新,看logcat,显示图片加载的task任务经常被cancel。
(晚了,待更新)

转载请声明原文地址:http://blog.csdn.net/sagittarius1988/article/details/52665300

版权声明:本文为博主原创文章,未经博主允许不得转载。

百度地图 聚合功能的实现

百度地图的应用也是极为广泛,从基本的定位,大头针的展现到线路的规划等等,但如果地图页面上在某一个区域内展示的大头针过多的话会在地图上面一团一团的都是满满的大头针,或许我们将地图缩小到某个区域之后用户并...
  • lele9096_bk
  • lele9096_bk
  • 2016年07月07日 13:31
  • 6675

细读百度地图点聚合源码(上)

之前在项目中需要用到百度地图的点聚合,看了百度提供的demo之后,稍微读了一些源码就能达到需求了,所以并未深入解读源码。 最近有空就把百度实现点聚合的源码从里到外仔细研究了一遍受益良多,在此分享一下。...
  • javine
  • javine
  • 2016年04月20日 23:27
  • 12505

百度地图API 重新生成点聚合的功能

百度点聚合用来解决加载大量点要素到地图上产生覆盖现象的问题,并提高性能。 http://api.map.baidu.com/library/MarkerClusterer/1.2/docs/symb...
  • u012463017
  • u012463017
  • 2016年12月07日 16:09
  • 4376

百度地图加载海量点、聚合

需求如下:地图上加载上万个点。使用marker发现点太多页面会卡死,研究发现可以使用聚合及海量点实现。 js代码如下: //聚合实现代码 function ss(markerArr){//...
  • yeyujiao8888
  • yeyujiao8888
  • 2016年05月06日 14:09
  • 5409

百度地图点聚合实现方法

百度地图点聚合代码如下 //基本配置 var map = new BMap.Map...
  • qq_31083947
  • qq_31083947
  • 2017年01月27日 11:04
  • 1567

百度地图点聚合

  • 2016年07月06日 14:08
  • 12.94MB
  • 下载

细读百度地图点聚合源码(下)---Renderer类解析

上一篇文章分析了ClusterMananger的整体结构和核心算法 细读百度地图点聚合源码(上),此文是接着上一篇来的。 在本文中,我们将学习如何在UI线程中做大量的操作,并且不会造成界面卡顿。...
  • javine
  • javine
  • 2016年05月13日 22:09
  • 10380

百度地图的点聚合功能演示demo下载

  • 2017年01月15日 10:28
  • 11.12MB
  • 下载

百度地图点聚合demo

  • 2017年03月13日 14:59
  • 9.12MB
  • 下载

百度地图点聚合提高效率

优化百度地图点聚合 参考文献:http://www.cnblogs.com/lightnull/p/6184867.html 百度的点聚合算法 是基于方格和距离的聚合算法,即开始的时候地图上没...
  • ztop_f
  • ztop_f
  • 2017年02月16日 14:02
  • 4590
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:百度地图聚合点的展示
举报原因:
原因补充:

(最多只允许输入30个字)