问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java开发 怎么把图层放到百度地图上

发布网友 发布时间:2022-04-22 10:32

我来回答

1个回答

热心网友 时间:2023-10-10 21:01

如果要在百度地图上实现一张自己自定义的地图,就需要使用百度地图自定义图层接口。实现效果如下:

但是百度地图中关于自定义图层的介绍甚少,便以此博文以记录,方便同行了解和使用。
百度地图官方文档中,关于自定义图层的介绍是这样的:
=========华丽丽的分隔线===========

自定义图层
地图坐标系
在使用自定义图层前,您需要了解百度地图的地图坐标系,百度地图坐标系涉及:
 经纬度球面坐标系统
 墨卡托平面坐标系统
 图块编号系统
经纬度是一种利用三维空间的球面来定义地球上的空间的球面坐标系,它能够标示地球上任何一个位置。通过伦敦格林尼治天文台原址的经线为0度经线,从0度经线向东、向西各分180度。赤道为0度纬线,赤道以北的纬线称为北纬、以南的称为南纬。在百度地图中,东经和北纬用正数表示,西经和南纬用负数表示。例如北京的位置大约是北纬39.9度,东经116.4度,那么用数值标示就是经度116.6,纬度39.9。
在百度地图中,习惯经度在前,纬度在后,例如:

var point = new BMap.Point(116.404, 39.915); // 创建点坐标,经度在前,纬度在后

由于百度地图是显示在平面上的,因此在地图内部系统中需要将球面坐标转换为平面坐标,这个转换过程称为投影。百度地图使用的是墨卡托投影。墨卡托平面坐标如下图所示,平面坐标与经纬度坐标系的原点是重合的。

百度地图在每一个级别将整个地图划分成若干个图块,通过编号系统将整个图块整合在一起以便显示完整的地图。当地图被拖动或者级别发生变化时,地图API将会根据平面坐标计算出当前视野内所需显示的图块的编号。百度地图图块编号规则如下图所示:

从平面坐标原点开始的右上方向的图块编号为0,0,以此类推。在最低的缩放级别(级别 1)中,整个地球由 4 张图块组成。随着级别的增长,地图所使用的图块个数也随之增多。
定义取图规则
通过TileLayer类开发者可以实现自定义图层。其中,TileLayer实例的getTilesUrl方法需要实现,用来告诉API取图规则。getTilesUrl方法的参数包括tileCoord和zoom,其中tileCoord为图块的编号信息,zoom为图块的级别,每当地图需要显示特定级别的特定位置的图块时就会自动调用此方法,并提供这两个参数。使用者需要告知API特定编号和级别所对应的图块的地址,这样API就能正常显示自定义的图层了。
添加和移除自定义图层
以下代码在每个图块的所有缩放级别上显示一个简单的透明叠加层,使用浮动红色小水滴表示图块的轮廓。

var map = new BMap.Map("l-map"); // 创建地图实例
var point = new BMap.Point(116.404, 39.915); // 创建点坐标
map.centerAndZoom(point,15); // 初始化地图,设置中心点坐标和地图级别
var tilelayer = new BMap.TileLayer(); // 创建地图层实例
tilelayer.getTilesUrl=function(){ // 设置图块路径
return "layer.gif";
};
map.addTileLayer(tilelayer); // 将图层添加到地图上

=========华丽丽的分隔线============
这里讲得让人一知半解,最主要的是,文档中并没有说明如何实现getTilesUrl方法,以及如何实现将一张自己的地图分隔成符合百度地图要求的图块。
现在记录一下我解决这个问题的过程。
首先,我先下载百度地图瓦格图片切图工具:https://github.com/jiazheng/BaiMapTileCutter
其次,找到自己的地图,导入其中进行切片,参考Sup_Heaven转的博文:http://blog.csdn.net/sup_heaven/article/details/8461586
最后将图片放入项目资源文件中,实现getTitlesUrl方法即可。
这里需要补充一下的同,Sup_Heaven转的博文中,并没有详细说明中心点和瓦格图片之间的关系,只告诉我们其然却不知其所以然。借助度娘了解。百度地图的所有瓦格图片都是256px*256px的正方形图片,其图片的位置由经纬度和放大倍数zoom决定,所以在使用工具TileCutter时,设置对的级别范围和中心点,否则会导致切出的图片与实际需要不符。如果大家在使用过程有疑问的,欢迎留言交流
引用百度地图可以嵌入图层吗?比如管道线路和道路那样显示

2015-04-19 百度地图api开发:怎么做到像百度地图那样可以自动根据ip判... 1 2015-08-17 如何利用百度地图制作出行路线图 37 2012-01-04 在一个百度地图如何做到先显示地级市然后随着鼠标在某个地方的放... 2 2013-04-01 你好我想问下,如果我想让百度地图上标注一些位置在地图本身的图...更多类似问题 ...

百度地图lbs 怎么通过java自定义麻点图

1、将麻点做在同一张图片上,然后利用自定义图层接口,将麻点图贴在地图底图上;2、然后利用热区接口,使鼠标放在热点上,有文字显示。3、可以自己加上信息窗口等覆盖物,让热区hotspot看起来像标注marker一样。

什么地图可以看到实景图像和人?

1、首先点击打开百度地图,在地图里点击右上角位置处的【图层】功能。2、打开了的图层界面后可在地图类型里看到【全景地图】,点击该类型地图。3、接着来会在全景地图上多了一个【✔】,此时就已经选择使用了全景地图。4、返回到地图界面,此时把地图移动到想看的街道上,此时在地图上会显示出...

百度地图怎么看实景

您好亲,进入界面,之后点击【图层】,点击进入【全景地图】,点击【照片】后,显示实时街景即可,具体步骤如下:点击【图层】进入百度地图,点击右上角的【图层】按键。点击【全景地图】点击地图操作菜单中【地图类型】中的【全景地图】。点击返回地图 返回地图页面,就可以看到地图上【摄像头标志和图片】。

开发时如何在地图上显示重点路段怎么设置

1、获取地图数据:需要获取相应的地图数据,如道路网络和地理信息。2、标记重点路段:通过地图服务提供商的API,使用标记或图层功能,将重点路段标记在地图上。3、管理数据和交互:将重点路段的相关数据存储在数据库或其他数据源中,并确保与地图交互的功能正常工作。4、添加交互和控制:为提供更好的用户...

如何快速在百度地图上标记多个地点?

1、点击图层右边的“+”「新建图层」按钮,新建一个图层,在弹出的对话框中选择「海量点图层」,如下图所示:2、在上一步新建的图层下,点击「添加数据」按钮,添加数据。在弹出的对话框里面选择要上传的数据。如果您以前上传过海量点图层数据,那么您可以点击选择框框里的“∇”按钮,选择已经...

现在的百度地图app怎么打开看不到收藏的地点?

看不到收藏的地点是因为关闭了显示收藏地点,我们把它设置为可见就行了,操作流程如下: 1、打开百度地图app,点击右上角的【图层】; 2、找到收藏点,点击一下会变亮,关闭就是图中所示的灰色; 3、返回地图的主页面查看,就会显示出收藏的地点了,如图,有个黄色的星星标志。 再来分享下如何收藏新地点和查看所有收藏的...

如何把地图集成到leaflet中?

第一种,把纠偏算法封装成一个接口,类似上面提到的百度、高德地图的坐标转换接口,在向地图加载数据前,先调用这个接口完成坐标的转换再添加到地图上。等于是把自己的数据偏移到互联网地图坐标上。这种是最常见的。第二种,百度、高德的地图都是瓦片地图,每一张瓦片在加载时都会去计算它的经纬度位置,...

在百度地图中怎么打开百度三维地图功能?

1. 进入百度地图应用。2. 在地图界面,找到并点击“图层”按钮。3. 在弹出的图层选择框中,找到“三维地图”选项,点击即可打开百度三维地图功能。以下是 在进入百度地图应用后,你会看到主界面展示出常规的二维地图。若想要切换到三维地图模式,首先要找到地图界面上的“图层”按钮。这个按钮通常在地图...

如何使用Android调用百度地图API

定位当前手机的位置,这个功能我们一般都可以用百度地图或者谷歌地图的api来实现,这些api代码要在百度或者谷歌的官网上下载,这里不再多说,本文以代码实例的方式展示如何使用百度地图的api,安卓开发者可以直接复制本文示例代码到项目中进行测试,本文仅仅是使用百度地图api的核心代码,如果要使用可能需要进行相关修改,具体参考...

ps怎么将抠图放到另一个图层 java开发是什么 图层蒙版怎么用 ps图层怎么显示出来 ps怎么添加多个图层 ps怎么添加图层 ps怎么拷贝图层 ps如何把图片导入图层 ps图层1覆盖图层2
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎么样才能不让别人访问我的域名 浙江义乌到宁安市有多少路途 关于联想a390e连接电脑的问题 联想A390e手机,关了无线网络和什么就不耗流量了 ...一个域名,现在我想把我的名字隐藏起来,不让别人查到是我注册的,有... 从南京火车站和汽车站分别到统宝光电怎么走? 诛仙SF不知道飞哪个才杀人爽 诛仙私服哪个职业厉害 ...取非后为0,所以不执行if 结果s的值为1,为什么我这样做是错的呢... if((i+1)%5==5) 如何将百度地图做成mapinfo tab图层 在百度地图中点击图层会有几种不同类型的地图? 为什么百度地图里图层每天不更换? 爱尔兰冰咖啡的制作方法 星巴克出了一款清椰冰摇咖啡,可以用椰子水在家自制吗? 气泡冰咖啡的做法步骤图,气泡冰咖啡怎么做 各种有名冰热咖啡做法。 美式冰咖啡标准做法?? 冰咖啡制作方法 怎样做家庭卡布奇诺咖啡! 香草冰咖啡的做法,香草冰咖啡怎么做 咖啡冰淇淋制作方法 冰咖啡怎么做?是冷水泡还是热水泡再冷却? 如何做冰咖啡? 为什么excel中的数据不按升序排列? 冰咖啡制作方法? excel 排序为什么第一行不动? 冰咖啡是怎么做的? EXCEL怎么排不了序 EXCEL为什么不能排序 手机用的百度地图里面的好友图层是什么意思啊 搞不懂 如何做百度地图扇区图层 android开发百度地图怎么切换卫星图层 百度地图热力图不见了 如何把百度离线地图制作mapinfo道路图层 如何在百度地图中标注如何在百度地图中标注自己店的位置 传颂在女娲补天中是什么意思? Y女娲补天的故事 有谁知道有<<女娲造人>>(文言文)的译文及原文? 女娲是什么神 女娲补天的原因是什么,女娲补天这个故事内容是? 女娲造人写出主要内容 企业qq的客服电话 企业qq怎么投诉 企业qq投诉电话 举报企业qq有用么 腾讯qq客服电话是多少? 变色的基本概念 苹果11屏幕被塑料的棒子敲到了有问题吗? 如何解释变色和沾色