百度地图自定义标注、信息窗口、多种类聚合、主题(一篇呕心沥血的博客...)

  最近做百度地图的图形化定制。略有心得,在此和大家分享一下,少走弯路。先看目录,大致介绍一下都写了些啥。我会从最基本的来,一点点往下写,同志们可以看目录自己去找需要的部分。ps:注意,我用的是百度地图 2.0 版本,例子也都是。

  这个完整代码,我会上传到 github 上,觉得有用记得给个 star 哈,下载

 

二、目录

    1、百度地图基本使用,以及主题的配置

  2、点标注,自定义点标注的样式,动画、文字标签等

  3、信息窗口,完全自定义点标注信息窗口,定制样式功能

  4、图形标注。定制图形标注,也就是图形覆盖物

  5、聚合。聚合的定制,多种聚合同时出现的配置

 

三、百度地图基本使用,以及主题的配置

   这里,为了方便,全部用 html + js 来实现,首先是基本用法,引入百度地图的源文件,注意,这里我用的 2.0 的版本秘钥大家需要自己去申请。没秘钥肯定用不了的,申请流程很简单,请自行百度。关于 css、js 文件的引入,用到的我全部引入了,后面分开说各式做什么的。

  做好准备工作,就开始新建一个dom,初始化 地图实例。然后 清除覆盖物 设置显示的中心点、设置 最大最小层级,设置默认显示层级。具体的直接看代码,都有注释。

  到此,就已经可以看到地图了。然后我们换一些地图的 主题 。主题有2种,一种默认的,一种是我们自定义的。自定义的方法:   到这个链接去配置,配置完了复制配置信息,在我们的地图中使用。具体复制哪一块,代码里面怎么用这个配置,请看代码,都有注释。但是怎么用这个百度的工具,自己捣鼓去吧,都是图形化的东西,也不难。

  

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>百度地图用法示例</title> <link rel="stylesheet" media="all" href="http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.css"> <style> #myMap { width: 700px; height: 400px; margin: 100px auto; } #myMap .grayInfo{ background-color: white; width: 220px; border-radius: 5px 5px; } #myMap .grayInfo .title { padding: 0 10px; height: 35px; line-height: 35px; background-color: #444444; border-radius: 5px 5px 0px 0px; color: white; } #myMap .grayInfo .content { padding: 10px; min-height: 50px; } </style> </head> <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=********"></script> <script type="text/javascript" src="http://api.map.baidu.com/library/TextIconOverlay/1.2/src/TextIconOverlay_min.js"></script> <script type="text/javascript" src="http://api.map.baidu.com/library/MarkerClusterer/1.2/src/MarkerClusterer_min.js"></script> <script type="text/javascript" src="http://api.map.baidu.com/library/CurveLine/1.5/src/CurveLine.min.js"></script> <script type="text/javascript" src="http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.js"></script> <script type="text/javascript" src="./js/InfoBox_main.js"></script> <script type="text/javascript" src="./js/constants.js"></script> <body> <div id="myMap"></div> </body> <script type="text/javascript"> //1、 基本配置 const BMap = window.BMap
//实例化,并设置最大最小缩放层级 const map
= new BMap.Map("myMap", { minZoom: 3, maxZoom: 20, });
//清楚覆盖物 map.clearOverlays();
//设置中心点、默认缩放层级 map.centerAndZoom(
new BMap.Point(120.08469, 30.301904), 13);
//可以鼠标缩放 map.enableScrollWheelZoom(
true); //2、 设置 默认主题 和 自定义主题 // 默认主题 normal blueSky light dark googlelite grassgreen midnight pink bluish grayscale // 还有几个默认主题,但是发现并不好使 map.setMapStyle({ style: 'bluish' }); // 自定义主题, 自定义,完事导出json配置 map.setMapStyle({   styleJson: THEME_CUS }); </script> </html>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsxyyd.html