百度地图API使用系列-02 底图

4 篇文章 0 订阅
订阅专栏
2 篇文章 0 订阅
订阅专栏
2 篇文章 0 订阅
订阅专栏

前言

为了便于更好的传达用户地理数据的位置信息,通常都是需要有地理空间参考数据做为依据。例如:一栋楼、一条河流或者几个点数据在没有其他参考物的前提下,是不具备可视化效果、可阅读性的。通常我们会选用标准地图做为参考或者卫星图像做为参考。如果开发者有自己整体或者局部完整的地理数据参考,那可以使用空白地图。本文将介绍这张底图的相关概念内容。

底图配置

官方提供的底图有:标准底图、卫星底图、空白底图。在标准底图的基础上,再配合个性化样式,可以延伸出 个性化底图。

开发者可以控制标准底图和个性化底图的图标、文字、楼块、室内图是否展示。另外一个比较好的功能点是:为开发者提供了底图添加图标&文字的能力,可以弥补数据上的缺失或者展示优先级。底图上的POI点具备可点击能力,开发者可以利用此功能获取底图POI信息,与业务进行联动。

可以通过设置画布样式与个性化底图的背景样式想匹配,避免切换或刷新会出现与整体页面不协调的色调。

底图上可以添加拥挤度路网、全景图路网。开发者可根据需求结合进行使用。

具体示例大家可以参考 百度地图开放平台示例中心地图基础部分,下面罗列一些示例中没有明确标明的点。

设置空底图

var map = new BMapGL.Map('container', {
    mapType: window.BMAP_NONE_MAP,
    enableDragging: true,
    enableWheelZoom: true,
    enableDblclickZoom: true
});
map.centerAndZoom("上海", 12); 

地图背景颜色设置

// 改变Map DIV容器背景颜色
document.getElementById('container').style = {
    backgroundColor: 'rgb(245 245 245)'
}
var map = new BMapGL.Map('container', {
    style:'grayed-out',
    // 改变Map canvas容器颜色,alpha取值为[0-255]
    backgroundColor: [245, 245, 245, 255],
    enableDragging: true,
    enableWheelZoom: true
});
// 改变Map DIV容器背景图片设置
map.getContainer().style = {
    backgroundImage: ''
}
map.centerAndZoom("上海", 12); 

底图添加图标&文字

var labels = [
    {
        position: BMapGL.Projection.convertLL2MC(new BMapGL.Point(116.397112, 39.920977)),
        displayRange: [12, 22],
        textMargin: 4,
        name: '测试\\自定义POI',
        style: {
            fontSize: 28,
            color: 'pink',
            haloSize: 2,
            strokeColor: '#fff',
            icon: 'http://maponline0.bdimg.com/sty/map_icons2x/MapRes/zhanlanguan.png',
            iconSize: [64, 64],
        },
        uid: 'uuid0000001',
        direction: 1,
        rank: 50000
    }
];
// 自定义POI添加到地图
map.addLabelsToMapTile(labels);
// 指定自定义POI uid移除
map.removeLabelsFromMapTile(['uuid0000001']);
// 自定义POI全部移除
map.clearLabels();

拥挤度路网设置描边

var map = new BMapGL.Map('container', {
    style:'grayed-out',
    enableDragging: true,
    enableWheelZoom: true
});
map.centerAndZoom(new BMapGL.Point(116.404, 39.915), 12); 
// 方式1
BMapGL.trafficLayer.setEdge(false);
map.setTrafficOn();
// 方式2
var layer = new BMapGL.TrafficLayer();
layer.setEdge(false);
map.addTileLayer(layer);

基础控制

主要分为显示控制和交互控制两部分。

显示控制可以设置地图中心点、显示区域、显示等级、锁定区域等。

交互控制可以设置移动、旋转、俯仰等是否允许操作。

具体示例大家可以参考 百度地图开放平台示例中心地图基础部分。

锁定地图区域

var _p1 = new BMapGL.Point(116.203694, 39.527552);
var _p2 = new BMapGL.Point(116.603694, 40.227552);
var r = new BMapGL.Bounds(_p1, _p2);
map.restrictBounds(r);

注意问题

React框架下的strict模式会导致页面初始化两次,如果在页面加载中存在地图加载,那么有状态组件在挂载时进行了地图初始化,那么在卸载时需要同步进行地图销毁;函数组件在useEffect进行初始化,那么 return 中需要进行地图销毁;不然就会导致地图初始化两次造成内存泄漏。

在业务组件中如果使用 异步加载地图API初始化地图时,需要判断当前window是否已经注册了window.BMapGL对象,如果存在则不需要再次异步加载地图API,避免造成内存泄漏。

百度地图API--百度地图底色选择
06-20 1532
可选择底色列表<select id="stylelist" onchange="changeMapStyle(this.value)"> <option value="normal">默认地图样式</option> //系统默认 <option value="light">清新蓝风格</option> //不需要第三...
世界地图-Arc Map 全球底图
04-03
世界地图,主要用于GIS系统,可直接在Arc MAP操作系统里进行编辑,剪切等相关操作
全世界地图底图:7级(1-80)
10-26
全世界地图底图:7级(1-80)
百度地图自定义底图
summer_du的博客
02-25 871
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>自定义地图类型瓦片</title> <style> html, body { height: 100%; margin: 0;
高德、百度地图自定义底图
热门推荐
陶呵呵的专栏
10-12 3万+
前言 项目中需要用到地图,百度地图加载自定义底图是通过切片的方式加载,而不像高德地图直接加载一张完整图片,这里瓦片加载的好处得到体现:不会因为底图文件过大导致页面加载失败或假死。 另一方面,由于自己私下学习过百度地图API的用法,对百度地图更为熟悉,故最终采用了百度地图而非高德地图。 百度底图API网址: http://developer.baidu.com/map/index.php?t
百度地图api自定义修改地图背景样式
HelloWorld187的博客
05-13 1万+
引入百度地图api就不用多说了吧! https://developer.baidu.com/map/custom/ //这个网址可以去模拟修改百度地图样式 当修改到心仪的样式时,点击生成JSON,就会弹出样式, 接着你就可以在你代码地图实例化的时候进行修改 var style_map=[ { // 地图背景 "featureType": "land", "elementType": "all",
百度API接口下,设置已建覆盖物(椭圆或多边形)的填充色为透明
蒲厷渶と戀的博客
12-21 3921
代码如下: 在定义好所要创建的遮盖物后,添加上述红框代码,即可将遮盖物的填充色设为透明色。效果如下: 未设置透明: 设置透明后:
百度地图移动版API-for-android开发指南
最新发布
09-15
在你的应用程序中显示地图是使用百度地图 API 的第一步。API 提供了加载地图的基础接口,包括设置地图中心点、缩放级别和视角。地图可以通过不同的视图模式展示,如标准地图、卫星图、实时交通信息图以及实景图。...
避开百度地图api配额限制爬取地图数据
12-23
代码借助selenium实现了百度地图的动态抓取,可以直接从百度地图获取数据,很好的解决了api端口的配额限制。
leaflet加载百度地图底图
08-11
其中,`YOUR_API_KEY`是你的百度地图API密钥,`x`、`y`和`z`分别代表瓦片的横坐标、纵坐标和缩放级别。创建自定义瓦片图层如下: ```javascript var baiduLayer = L.tileLayer( '...
ArcGIS API 4.10之加载百度地图
01-18
在本文中,我们将深入探讨如何使用ArcGIS API 4.10来加载并显示百度地图,包括地形图和影像地图,特别是在三维空间环境中的应用。ArcGIS API是Esri公司提供的一个强大的地理信息系统(GIS)开发框架,它允许开发者...
世界地图省州级底图-shp格式底图
08-22
世界地图省级shp格式底图,处理了西藏和印度争议的地区,符合我国政府对藏南地区的主张
炫酷的淡蓝色百度地图自定义样式
07-09
具体样式效果可参考本人文章中百度地图自定义信息框的文章 https://blog.csdn.net/qq_26991807/article/details/80764647
地图底图切换方法1
11-04
地图底图切换方法1:利用打包好的资源,通过button控制,对ESRI_StreetMap_World_2D、NGS_Topo_US_2D和ESRI_Imagery_World_2D进行的地图底图的切换。用到css控制样式、html和JavaScript
convertMC2LL:将百度地图平面投影坐标(墨卡托)转换为经纬度坐标
06-19
convertMC2LL 将百度地图平面投影坐标(墨卡托)转换为经纬度坐标 用在什么场景 使用PHP来调用百度地图API,某些情况下得到的是投影坐标,需要转换为经纬度坐标 为什么要写这个东西 首先,百度地图最好用 第二,百度接口很不准,搜个西城区的地址给你定位到门头沟去 第三,百度有些隐藏接口非常好用 第四,隐藏接口坐标是投影坐标,需要转换成经纬度坐标 第五,只有百度知道怎么转换 第六,只有百度地图JS文件能看到源码 所以就写了这么个程序来将投影坐标转换为经纬度坐标。当然是根据百度地图js原来来改造的。 使用方法 非常简单 include 'src/Baidumap.php'; $baidu = new Baidumap(); $point = new b4(1294830854, 484857493); $ll = $baidu->convertMC2LL($point); var_du
求助地图底图
xcc1209461400的博客
05-06 644
由于刚进入需要省级地图底图求助啦
百度地图API-实现底图切换
weixin_45602368的博客
07-30 1419
底图切换 下一期项目有一项优化叫做底图切换,客户可以自己选择看不看见街道图这个东西,研究了一下,简单基本实现demo。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="w
百度地图API底色主题更换
cc蒲公英的博客
02-09 2820
百度地图API底色主题更换
ARCGIS清晰的地图,底图,道路街景图
lliaos的博客
04-01 5668
在进行数据可视化的时候,一幅高清的底图十分重要,有一个在线地图插件“SIMPLEGIS”非常好用,该插件只适用于ARCGIS10.2及其以下版本(WIN10系统也可以用) 下载链接:http://www.rscloudmart.com/application/120173.htm 用户手册:链接:https://pan.baidu.com/s/1NrdqP2eommUvNX2Z0Jfb3Q 提取码...
百度地图API核心与基础类详解
掌握这些类的使用方法对于有效地集成百度地图API至关重要,开发者可以通过阅读文档中的详细说明和示例代码来熟悉这些类的功能和用法,从而构建出功能丰富、用户体验良好的地图应用。通过理解并灵活运用这些类,...
写文章

热门文章

  • 基于Openlayers 6实现地图局部(高亮)优雅显示 3736
  • 等值线图以及色斑图实现方式综述 3299
  • 百度地图API使用系列-02 底图 1207
  • 百度地图API使用系列-01 八股文 214

分类专栏

  • 百度地图api 2篇
  • 地图开发 2篇
  • GIS 4篇

最新评论

  • 基于Openlayers 6实现地图局部(高亮)优雅显示

    Abstract326: geojson啊

  • 基于Openlayers 6实现地图局部(高亮)优雅显示

    旧梦无向丶: 大佬你这个地图图层画布怎么取到的?

  • 基于Openlayers 6实现地图局部(高亮)优雅显示

    m0_61872408: 你好,请问地图局部显示的示例代码的feature是什么格式的?

  • 等值线图以及色斑图实现方式综述

    qq_33268339: 有联系方式吗?我有技术问题想咨询

  • 等值线图以及色斑图实现方式综述

    huanglii: 表情包

大家在看

  • AOP武功秘籍:用@EnableAspectJAutoProxy让Spring Boot焕发新生

最新文章

  • 百度地图API使用系列-01 八股文
  • 基于Openlayers 6实现地图局部(高亮)优雅显示
  • 等值线图以及色斑图实现方式综述
2023年2篇
2021年2篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司郑州网站优化追风建站优化网站带来什么阳谷网站优化报价网站优化排名推广优选兴田德润网站优化概念分类企业网站内部优化技巧网站的优化只选j火17星热情哪里有网站seo优化效果绍兴做网站优化郑州网站优化推广可靠吗通过关键词优化提升企业网站教育行业网站优化去哪申请武汉工厂网站优化要多少钱北京网站关键词百度优化凤冈县网站优化公司资源网站优化排名软件电话网站优化做什么的政务网站优化思路崇州专业网站推广优化网站不收录怎么优化好工业园区附近百度网站优化排名营口企业网站seo优化价格上海企业网站优化方案定制济南家居行业网站优化推广渠道广元google网站优化安徽网站优化平台西安优化网站公司中方优化网站如何评价一个网站的优化惠州网站优化服务商香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化