精华内容
下载资源
问答
  • 高德地图聚合

    2016-07-06 14:28:39
    高德地图聚合
  • 百度地图聚合优化

    2019-05-07 10:13:10
    百度地图聚合优化.原生的百度地图聚合插件太耗时,太耗内存。
  • Android百度地图聚合
  • 这是实现百度地图聚合抽稀,地图聚合抽稀,基于百度地图SDK3.1.1,做项目的时候碰到了一个问题,地图上的点过于密集,用户体验不好。所以找到了该方法解决,代码参考了网上的代码,那个版本比较老。 我基于百度地图3...
  • android版本高德地图聚合demo,实现自定义点聚合功能。
  • 地图聚合API Java Redis示例 地图聚合API https://openlayers.org/en/latest/examples/cluster.html 通过地图平移缩放事件控制地图四至范围内地图刷新和加载详细点控制。最终实现效果如下: Java Redis示例...

    目录

    地图聚合API

    Java  Redis示例


     地图聚合API

    https://openlayers.org/en/latest/examples/cluster.html

    通过地图平移缩放事件控制地图四至范围内地图刷新和加载详细点控制。最终实现效果如下:

    Java  Redis示例

    添加geojson数据:

    /**
    	 * 更新GEOHASH值
    	 * @param dwCode
    	 * @param coordinate
    	 * @param memberName "HLYID-score"
    	 */
    	public static void positonToGeohash(String dwCode,String hlyId,GeoCoordinate coordinate,String memberName){
    		String storeKey=XHT_ZZJG_GEOPOSITION+dwCode;
    		String expireKey=XHT_ZZJG_GEOEXPIRE+dwCode;
    		RedisUtil.geoadd(storeKey, coordinate, memberName);
    		// 设置超时过期
    		RedisUtil.zadd(expireKey,System.currentTimeMillis(),memberName);
    		Set<String> expiredKeys = RedisUtil.zrangeByScore(expireKey, 0, System.currentTimeMillis()-30*60*1000);
    		
    		if(expiredKeys!=null && expiredKeys.size()>0) {
    			//删除超时的数据
    			RedisUtil.zrem(storeKey,expiredKeys.toArray(new String[expiredKeys.size()]));
    			RedisUtil.zrem(expireKey,expiredKeys.toArray(new String[expiredKeys.size()]));
    			//zzjgList.toArray(new String[zzjgList.size()])
    			//TODO : 两个集合中的size不一致时,需要按照expiredKeys中为标准删除storeKey中多余的数据
    			
    		}
    		
    		RedisUtil.expire(expireKey, Constants.MOBILE_TOKEN_KEY_HALF_HOUR);//Constants.MOBILE_TOKEN_KEY_HALF_HOUR
    		RedisUtil.expire(storeKey, Constants.MOBILE_TOKEN_KEY_HALF_HOUR);
    	}	

    完整代码请下载连接(没有的自行补全):https://download.csdn.net/download/boonya/12048388

    缺少的工具类请参考:Redis连接池及单节点工具与多Redis节点管理工具

    展开全文
  • 百度地图聚合,查看聚合包含的点信息     由于项目需求,开发地图时需要对地图点信息进行聚合,而且还需要获取该聚合点下的点有哪些,查看相关资料,并没有对这一问题进行介绍,如何解决这个...

    百度地图聚合,获取聚合点所包含的点信息

        由于项目需求,开发地图时需要对地图点信息进行聚合,而且还需要获取该聚合点下的点有哪些,查看相关资料,并没有对这一问题进行介绍,如何解决这个问题?
        在地图初始化时,地图上的点位是我们通过接口,获取点位信息(坐标以及其他信息)形成marker,防止点位过多导致地图加载点比较缓慢,可将每个marekr存入到markers数组,地图初始化聚合,逐步加载。
    map.createClusters(makers);`
        
        但如何获取聚合点位下的信息?我们知道marker点是地图上的覆盖物,我们是否可以借助画图工具,框选聚合点,进而获取该聚合点下所包含的信息?
    在这里插入图片描述
        刚开始通过 map.getOverlays() 获取地图上的点位信息,但通过开发者模式发现,该方法获取的是聚合点(不包含聚合下的点)+未聚合的点,聚合点下的信息根本获取不到,于是尝试将地图初始化加载的marker存到一个数组里面,通过框选区域进行过滤:

               marker.markerinfo=aa;	//aa代表每个点位的信息,如坐标以及其他信息
               markerArr.push(marker);
               var drawingManager = new BMapLib.DrawingManager(map, {
                isOpen: false, //是否开启绘制模式
                enableDrawingTool: false, //是否显示工具栏
                drawingToolOptions: {
                    anchor: BMAP_ANCHOR_TOP_RIGHT, //位置
                    offset: new BMap.Size(5, 5) //偏离值
                },
                circleOptions: styleOptions, //圆的样式
                polylineOptions: styleOptions, //线的样式
                polygonOptions: styleOptions, //多边形的样式
                rectangleOptions: styleOptions //矩形的样式
            });
    			drawingManager.addEventListener('overlaycomplete', function (e) {
                var el=e.currentTarget;
                el.close();
            });
           		 for (var i=0;i<markerArr.length;i++){
            	 var markerInfo=markerArr[i].markerInfo;
            	 if (markerInfo){
                 	   var point=new BMap.Point(markerInfo.longitude,markerInfo.latitude);
                   		 if (drawingManager.overlay.containPoint(point)){
                      //如果点位在画圆的区域,则可以进行存储。
                     // 所以可以框选聚合点,进行筛选获取聚合点所包含信息。
                   
                        
                    }
           }         
    

    获取聚合点所包含点位信息,即可进行下一步操作。
        上述只是作为获取聚合点包含点信息参考,实际操作还需参考百度地图API,如有问题欢迎指出。

    展开全文
  • 地图聚合+滴滴打车小车平滑移动实现 [注:本内容来自网络,在此分享仅为帮助有需要的网友,如果侵犯了您的权利,麻烦联系我,我会第一时间删除,谢谢您。]
  • 开发中遇到一个技术问题,要求自己重组服务器返回的数据,实现百度地图聚合效果package com.kyexpress.kydemo;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;...

    开发中遇到一个技术问题,要求自己重组服务器返回的数据,实现百度地图聚合效果

    package com.kyexpress.kydemo;

    import android.support.v7.app.AppCompatActivity;

    import android.os.Bundle;

    import android.util.Log;

    import com.alibaba.fastjson.JSON;

    import com.google.gson.Gson;

    import org.json.JSONArray;

    import org.json.JSONObject;

    import java.util.ArrayList;

    import java.util.HashMap;

    import java.util.List;

    import java.util.Map;

    public class MainActivity extends AppCompatActivity {

    private List plist = new ArrayList<>();

    private List> s = new ArrayList<>();

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    initList();

    ;

    Log.i("TAG", new Gson().toJson( selectAray(plist,s)));

    }

    /**

    * 生成测试数据

    * [

    {

    "lat": 11.11111,

    "lng": 121.324344,

    "pId": "p_0",

    "pName": "北京-0"

    },

    {

    "lat": 11.11111,

    "lng": 121.324344,

    "pId": "p_1",

    "pName": "北京-1"

    },

    {

    "lat": 11.11112,

    "lng": 121.324345,

    "pId": "p_2",

    "pName": "北京-2"

    },

    {

    "lat": 11.11112,

    "lng": 121.324345,

    "pId": "p_3",

    "pName": "北京-3"

    },

    {

    "lat": 11.11113,

    "lng": 121.324346,

    "pId": "p_4",

    "pName": "北京-4"

    },

    {

    "lat": 11.11113,

    "lng": 121.324346,

    "pId": "p_5",

    "pName": "北京-5"

    },

    {

    "lat": 11.11113,

    "lng": 121.324346,

    "pId": "p_6",

    "pName": "北京-6"

    },

    {

    "lat": 77.77777,

    "lng": 849.270408,

    "pId": "p_7",

    "pName": "北京-7"

    },

    {

    "lat": 88.88888,

    "lng": 970.594752,

    "pId": "p_8",

    "pName": "北京-8"

    },

    {

    "lat": 99.99999,

    "lng": 1091.919096,

    "pId": "p_9",

    "pName": "北京-9"

    }

    ]

    */

    public void initList() {

    for (int i = 0; i < 10; i++) {

    PositionInfo position = new PositionInfo();

    position.setpName("北京-" + i);

    position.setpId("p_" + i);

    if (i < 2) {

    position.setLat(11.11111);

    position.setLng(121.324344);

    } else if (i < 4) {

    position.setLat(11.11112);

    position.setLng(121.324345);

    } else if (i < 7) {

    position.setLat(11.11113);

    position.setLng(121.324346);

    } else {

    position.setLat(11.11111 * i);

    position.setLng(121.324344 * i);

    }

    plist.add(position);

    }

    String result = new Gson().toJson(plist);

    Log.i("TAG", "=======" + result);

    }

    /**

    *

    * [

    [

    {

    "lat": 11.11111,

    "lng": 121.324344,

    "pId": "p_0",

    "pName": "北京-0"

    },

    {

    "lat": 11.11111,

    "lng": 121.324344,

    "pId": "p_1",

    "pName": "北京-1"

    }

    ],

    [

    {

    "lat": 11.11112,

    "lng": 121.324345,

    "pId": "p_2",

    "pName": "北京-2"

    },

    {

    "lat": 11.11112,

    "lng": 121.324345,

    "pId": "p_3",

    "pName": "北京-3"

    }

    ],

    [

    {

    "lat": 11.11113,

    "lng": 121.324346,

    "pId": "p_4",

    "pName": "北京-4"

    },

    {

    "lat": 11.11113,

    "lng": 121.324346,

    "pId": "p_5",

    "pName": "北京-5"

    },

    {

    "lat": 11.11113,

    "lng": 121.324346,

    "pId": "p_6",

    "pName": "北京-6"

    }

    ],

    [

    {

    "lat": 77.77777,

    "lng": 849.270408,

    "pId": "p_7",

    "pName": "北京-7"

    }

    ],

    [

    {

    "lat": 88.88888,

    "lng": 970.594752,

    "pId": "p_8",

    "pName": "北京-8"

    }

    ],

    [

    {

    "lat": 99.99999,

    "lng": 1091.919096,

    "pId": "p_9",

    "pName": "北京-9"

    }

    ]

    ]

    * 聚合算法

    * @param list

    * @param res

    * @return

    */

    public List> selectAray(List list,List> res){

    if (list.size() == 0){

    return null;

    }

    List diffAry = new ArrayList<>();

    List sameAry = new ArrayList<>();

    sameAry.add(list.get(0));

    for (int i = 1 ; i < list.size();i++){

    PositionInfo p = list.get(i);

    double lat= p.getLat();

    double lng = p.getLng();

    PositionInfo t = sameAry.get(0);

    double lat2= t.getLat();

    double lng2 = t.getLng();

    if (lat == lat2 && lng == lng2){

    sameAry.add(p);

    } else {

    diffAry.add(p);

    }

    }

    res.add(sameAry);

    if (diffAry.size() != 0){

    selectAray(diffAry,res);

    }

    return res;

    }

    }

    展开全文
  • 高德地图聚合Marker

    2016-12-17 17:31:22
    最近写一个关于高德地图Marker聚合的小项目,在网上找了很多,有很多大神已经写了很多demo,于是下载下来看了代码,但没有我想要的效果(但很有帮助)。主要是想实现(1)地图支持Marker刷新,而刷新后替换掉没用了...
  • 百度地图聚合点,超过1000个的时候就会开始卡。 以下是解决方法。需要先下载 js源码:MarkerCluster.js 进行以下修改后,放到自己的项目下面,自行引入。 1.找到_createClusters 方法,新增代码 /** * 根据所...

    百度地图聚合点,超过1000个的时候就会开始卡。
    以下是解决方法。需要先下载 js源码:MarkerCluster.js
    进行以下修改后,放到自己的项目下面,自行引入。

    1.找到_createClusters 方法,新增代码

       /**
         * 根据所给定的标记,创建聚合点
         * @return 无返回值
         */
        MarkerClusterer.prototype._createClusters = function(){
            var mapBounds = this._map.getBounds();
            var extendedBounds = getExtendedBounds(this._map, mapBounds, this._gridSize);
            for(var i = 0, marker; marker = this._markers[i]; i++){
                if(!marker.isInCluster && extendedBounds.containsPoint(marker.getPosition()) ){ 
                    this._addToClosestCluster(marker);
                }
            }   
            // 这里添加代码块1
        };

    代码块1:

         var len = this._markers.length;
         for (var i = 0; i < len; i++) {
             if(this._clusters[i]){
                 this._clusters[i].render();
             }
         }

    2.找到addMarker () 方法,删除以下代码

          Cluster.prototype.addMarker = function(marker){
             if(this.isMarkerInCluster(marker)){
                 return false;
             }//也可用marker.isInCluster判断,外面判断OK,这里基本不会命中
    
             if (!this._center){
                 this._center = marker.getPosition();
                 this.updateGridBounds();//
             } else {
                 if(this._isAverageCenter){
                     var l = this._markers.length + 1;
                     var lat = (this._center.lat * (l - 1) + marker.getPosition().lat) / l;
                     var lng = (this._center.lng * (l - 1) + marker.getPosition().lng) / l;
                     this._center = new BMap.Point(lng, lat);
                     this.updateGridBounds();
                 }//计算新的Center
             }
    
             marker.isInCluster = true;
             this._markers.push(marker);
    
             /*   删除这里 ↓
             var len = this._markers.length;
             if(len < this._minClusterSize ){     
                 this._map.addOverlay(marker);
                 //this.updateClusterMarker();
                 return true;
             } else if (len === this._minClusterSize) {
                 for (var i = 0; i < len; i++) {
                     this._markers[i].getMap() && this._map.removeOverlay(this._markers[i]);
                 }
    
             } 
             this._map.addOverlay(this._clusterMarker);
             this._isReal = true;
             this.updateClusterMarker();
             return true;
                  删除这里 ↑
             */
         };

    3.新增方法render()

        /**
         * 进行dom操作
         * @return 无返回值
         */
         Cluster.prototype.render = function(){
             var len = this._markers.length;
    
             if (len < this._minClusterSize) {
                  for (var i = 0; i < len; i++) {
                     this._map.addOverlay(this._markers[i]);
                 }
             } else {
                 this._map.addOverlay(this._clusterMarker);
                 this._isReal = true;
                 this.updateClusterMarker();
             }
         }

    原地址:https://www.cnblogs.com/liquant/p/8709278.html

    展开全文
  • MarkerClusterer_min.js,TextIconOverlay_min.js 百度地图聚合自定义聚合点样式必备js , 亲测可用, 刚实现相关功能
  • 百度地图聚合示例 Aggregation in Javais a relationship between two classes that is best described as a "has-a" and "whole/part" relationship. It is a more specialized version of the association ...
  • 地图聚合算法

    2020-02-14 22:28:28
    一、为什么需要点聚合地图上查询结果通常以标记点的形式展现,但是如果标记点较多,不仅会大大增加客户端的渲染时间,让客户端变得很卡,而且会让人产生密集恐惧症(图1)。为了解决这一问题,我们需要一种手段...
  • Android 自定义百度地图聚合图层 越来越多的App都接入了百度地图的SDK,虽然百度地图强大且方便,但对于一些特殊功能的使用还是比较麻烦,比如要在地图上展示标记并且支持聚合功能。今天我将自己定义一个View,可以...
  • 调用百度地图聚合标记,数量大于1000的话,会很卡,但是引用此优化版MarkerClusterer_min.js,立刻就不卡了
  • 百度地图聚合显示.zip

    2019-11-20 11:32:08
    百度地图地区聚合显示房产数据。数据量较少,所以不是每一个区下面都有数据,只模拟造了少量数据,并且能显示所有行政边界。
  • 百度地图聚合方法使用:http://blog.csdn.net/aconghui/article/details/50958715;百度地图聚合源码(上): http://blog.csdn.net/javine/article/details/51195014百度地图聚合源码(下): ...
  • 高德地图聚合点,增加所有点击标记,点击后展示该聚合点下所有信息使用高德地图图片下面是部分代码,如有不懂,留言结束 使用高德地图 *1.首先去注册...
  • 高德地图 聚合效果

    2020-11-22 13:37:54
    最近项目中遇到用高德制作地图,针对聚合的效果,将一下实现的一些思路。 高德的聚合使用的是AMap.MarkerClusterer,详细的参数设置和说明,可以参考官网的api,这边只根据自己的需求,贴上部分代码 效果:...
  • 谷歌地图 聚合marker例子

    热门讨论 2014-08-19 11:18:27
    谷歌地图 大批量打点marker 聚合打点 例子,可以参考,国内可以打开。
  • 高德地图 - 点聚合#container {width: 100%;height: 100%;}var map = new AMap.Map('container', {resizeEnable: true,zoom: 9,// center: [121.481041,31.683859], //崇明东平森林公园经纬度center: [121.635058,31...
  • 百度地图聚合

    千次阅读 2014-02-28 16:48:12
    一、牛人们的想法 ...1.MarkerCluster之百度地图版 http://hi.baidu.com/liongg/item/d8adece188fbfb11585dd89f 2.Marker Cluster面面观 http://hi.baidu.com/liongg/item/a380cc95bd70c2bdcd80e581 3
  • var cluster, markers = [];var map = new AMap.Map("container", {resizeEnable: true,center: [113.663, 34.756],zoom: 5});var locations = [{'lat': 51.76563,'lng': 113.663},{'lat': 51.76563,'lng': 113.663}...
  • 1、需求:接下来的项目要实现像链家APP中地图看房的功能(效果如下图)。链家APP地图找房效果2、实现思路、查阅资料看到这个效果图,首先想到的是在view上放一个marker,但是marker只能设置title,没有在中间设置内容的...
  • 关于开发中基于百度地图做开发,添加maker标记点,官方提供的源码在pc端添加上千个点,页面拖动会出现卡顿,页面加载也会很慢,优化过的源码,本人亲测上万marker也还可以。
  • 该资源主要是ArcGIS API For JS结合天地图的加载并且并且实现散点聚合
  • 最近在与公司网络部进行经销商网络的梳理,发现需要一个清晰的经销商地图布局工具来进行全国网点的统筹分析,于是利用高德地图API开放平台制作了一个经销商分布地图,可以实现按网点数量进行聚合统计、计算网点间...
  • 百度地图聚合折腾

    2018-08-06 23:06:00
    起初做的热力图,但是来回反复测试百度地图热力图和echars热力图+百度地图,终究不满足客户爸爸,原因很简单某些地区放大后,为什么啥也没有了,为什么?为什么?mmmp不知当讲不当讲,热力图放大数据稀疏的地方当然...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,196
精华内容 478
关键字:

地图聚合