目录:
- 1、百度地图api如何在1秒内流畅渲染1000个点?
- 2、关于百度地图API聚合问题。待高手指教。
- 3、百度地图聚合功能自定义聚合文字
- 4、求一个android 百度地图的源码,可以实现点击获取经纬度,并保存在数据库里面。在点击按钮显示经纬度。
- 5、百度地图点聚合显示
百度地图api如何在1秒内流畅渲染1000个点?
之前做过arcgis的。如果百度地图的效率是在是很慢的话,那么可以考虑根据比例尺和显示的地图返回来控制同时显示的点。
比方在全图的时候,5000个点,在中国地图上其实没有什么概念的。只是一个范围的。当比例尺小于一定的时候,再把该地图范围内的所有点绘制出来。
尽量控制显示的个数。
关于百度地图API聚合问题。待高手指教。
这个跟javascript函数作用域有关系的,因为“click”事件只会当你点击时,才会触发。而这个时候ifonWin 显然是最后一个对象了。所以你要在mypt.addEventListener("click", function(){this.openInfoWindow(createInfoWin(i));});
function createInfoWin(i){
return new BMap.InfoWindow("我的地理位置:br我是第【"+i+"】个点");
},
这样应该行了
百度地图聚合功能自定义聚合文字
研究百度地图聚合源码发现,如果打算自定义文字需要修改两处:
一、修改 BMapLib.MarkerClusterer.js 插件中 Cluster.prototype.updateClusterMarker 方法,实现过程如下:
方法中: this._clusterMarker.setText(this._markers.length); 表示, 聚合点显示的文字内容是 当前 Cluster 类 _markers 属性 的 长度;
二、修改 TextIconOverlay.js 中的 构造方法 和 样式方法
查看 TextIconOverlay.js 的源码发现, text 只支持 数字类型的值,而且和 styles 属性绑定,需要修改constructor 方法, 和 设置属性的方法。
如上,知道了聚合的文字是 Cluster.prototype.updateClusterMarker 方法 , 那么我们需要进行以下步骤:
通过查看百度地图聚合源码,发现 Cluster 类调用了 marker 的 getPosition 和 getMap 方法,我们需要自定义这俩方法如下:
最终,我们实现了自定义 百度地图点聚合文字 信息。
附Github:
类 BMapLib.MarkerClusterer
求一个android 百度地图的源码,可以实现点击获取经纬度,并保存在数据库里面。在点击按钮显示经纬度。
我刚刚在csdn上传了一个,可以获取当前自己位置的经纬度。你说的这个好麻烦,要根据屏幕大小和地图缩放比例获得点,然后再转化,想想就头疼
百度地图点聚合显示
聚合前有引用一个聚合的JS类库的,其实点聚合的效果的达到是百度地图接口有个方法是根据可视区域进行分若干个格子,然后根据点的经纬度在哪个格子里面,再根据每个格子里面的多少个经纬度来进行聚合。
new BMapLib.MarkerClusterer(map, {markers:markers}); 这句话就是调用markerClusterer类去干分格子然后计算经纬度在格子里头的数量后并且显示的过程
评论前必须登录!
注册