首页 电脑网络 电脑知识 正文

百度地图api怎么自定义地图 百度地图api自定义地图教程

  百度地图api怎么自定义地图 百度地图api自定义地图教程。百度地图api是一款面向开发者的百度地图服务的应用接口,可以使用javascript api ,web服务api,安卓sdk等开发工具

  百度地图api怎么自定义地图 百度地图api自定义地图教程。百度地图api是一款面向开发者的百度地图服务的应用接口,可以使用javascript api ,web服务api,安卓sdk等开发工具进行开发。功能也十分多样,下面小编就给大家分享下百度地图api自定义地图的教程,希望各位喜欢。


  标注概述


  标注(Marker)是用来表示一个点位置的可见元素,每个标注自身都包含地理信息。比如你在西单商场位置添加了一个标注,不论地图移动、缩放,标注都会跟随一起移动,保证其始终指向正确的地理位置。


  


  从上面的图可以看出,不论地图如何变化标注始终指向“西单商场”的位置。


  如何知道某个点的坐标?


  上例中我们在西单商场位置添加了一个标注,那么我是如何知道它的坐标点呢?可以通过API的事件机制来获取:


  map.addEventListener('click', function(e){


  console.log(e.point);


  });


  我们在map对象上添加了一个click事件的监听函数,当点击地图上某个位置时,监听函数通过控制台把当前点击的位置输出出来(注意需要有控制台的支持,比如firebug,如果没有控制台则可使用alert把point的lng和lat属性输出出来)。此外,你也可以使用API提供的坐标拾取工具来完成(http://dev.baidu.com/wiki/static/map/API/tool/getPoint/),它支持检索并且点击地图上任意位置时会出现该位置的坐标。


  标注元素组成


  从DOM元素构成角度看,一个完整的标注是由以下几个部分组成的:


  标注点击区域


  标注图标


  标注阴影


  下面是示意图:


  


  在地图API实现中,这三个DOM元素分别位于不同的容器中,这些容器可以通过map.getPanes()方法获得,其中markerMouseTarget就是标注点击区域所在容器、markerPane为标注图标所在容器,markerShadow为标注阴影所在图层。你可能会在自定义覆盖物时需要这些容器对象,这里只需要知道Marker的各个部分是如何放置的即可。


  自定义标注图标


  标注的图标是可以自定义的,通过Icon类可以自定义标注的图标,比如我希望使用下面这个图片作为标注图标:


  


  已知这个图标大小为20x32。我们初始化地图,接着定义Icon,并赋给一个Marker实例:


  var map = new BMap.Map('container');


  map.centerAndZoom(new BMap.Point(116.380797, 39.918497), 18);


  var icon = new BMap.Icon('pin.png', new BMap.Size(20, 32), {


  anchor: new BMap.Size(10, 30)


  });


  var mkr = new BMap.Marker(new BMap.Point(116.38075,39.918986), {


  icon: icon


  });


  map.addOverlay(mkr);


  我们给定icon所需图片的url,接着是图片的尺寸,另外我们还增加了anchor属性,这个是干什么用的呢?在自定义标注图标时有一点需要注意的就是标注的定位点(anchor),通俗的讲就是要指定图片的哪个位置是与标注真正的位置对应在一起。我们通过下面的图示来说明:


  


  我们获取到地图上一个位置(上图中标注下端所在的黑色小方块),那么我也希望我标注中间下端指向这个位置,这个就需要通过anchor来调节。anchor的意义如下图所示:


  


  即定位点距离图片左上角的偏移量。


  如果不给anchor的话,API会自动获取图片中心点作为anchor位置:


 


  我们看到标注图片中心的位置覆盖在那个小方块区域。


  除了anchor之外,还有一个infoWindowAnchor属性,它是用来控制信息窗口开启的位置的(注意这里调用的是Marker的openInfoWindow方法,而不是Map的openInfoWindow方法),默认情况下它和icon的anchor是一个位置:


  


  标注被InfoWindow的底角挡住了,通过infoWindowAnchor属性就可以改变开启位置:


  var icon = new BMap.Icon('pin.png', new BMap.Size(20, 32), {


  anchor: new BMap.Size(10, 30),


  infoWindowAnchor: new BMap.Size(10, 0)


  })


  再看看效果:


 


  尖角位置已经发生了改变。


  标注拖拽


  标注支持拖拽,并且可以配置是否有动画效果,我们修改创建标注的代码:


  var mkr = new BMap.Marker(new BMap.Point(116.38075,39.918986), {


  icon: icon,


  enableDragging: true,


  raiseOnDrag: true


  });


  这里开启了拖拽功能以及响应的动画效果。如果此时拖拽地图你会得到如下效果:


 


  通过监听标注的dragend事件,你可以知道拖拽结束后标注的地理位置:


  mkr.addEventListener('dragend', function(e){


  alert(e.point.lng + ', ' + e.point.lat);


  })


  标注阴影


  为了增加立体感,可以单独给标注添加阴影,当然你也可以把阴影直接画在icon所用的图片上,但是由于阴影和标注本身在一起,所以就不建议使用任何动画效果,否则会缺乏真实感。阴影可以通过MarkerOptions的shadow属性配置,类型也是一个Icon实例。具体使用方法和icon属性一样,这里就不赘述了。


  以上就是给大家带来的百度地图api自定义地图的相关教程,希望各位喜欢制作地图的朋友可以尝试下,还是蛮好玩的。


(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)

本文转载自互联网,如有侵权,联系删除

本文地址:https://www.peigen.net/post/4792.html

相关推荐

板栗怎么私信主播?

板栗直播可以看直播,想必有一些用户已经知道,如果遇见自己喜欢的主播,我们该怎么私信主播呢?为此,小编特意查询资料,把板栗如何私信主播的方法分享给大家。 1)打开板栗,点击打开要私信的直播,接着点击左上...

电脑知识 2024-11-30 0 182

e兼职APP怎么进行身份认证?

e兼职app下载最靠谱的大学生兼职,帮助大学生提升技能,借用靠谱企业的力量培育大学生的社会经验与专业技能,最快5秒内找到心仪的兼职,大众点评最好的兼职软件。不过这么好用的软件,在使用前需要进行身份验证...

电脑知识 2024-11-30 0 185

口碑农场邀请码怎么获取

口碑农场是口碑app中新增加的一个玩法。口碑农场邀请码怎么获取?想要获得口碑农场的邀请码,具体该怎么操作?下面就是口碑农场邀请码获取教程,一起来看一下。...

电脑知识 2024-11-30 0 164

伙星app怎么更换主页封面?

伙星是一款关于相机相关的应用,能够让用户来制作各种好玩的、搞笑的照片,并且还有着许许多多的特效,能够让你看到很多很好玩的内容,除了这些,用户可以在里面进行拍照和漂流瓶交友等,那么在伙星app中要怎么更...

电脑知识 2024-11-30 0 158

会声会影怎么添加背景音乐?

会声会影2018是一款强大的照片|图片|视频制作、剪辑软件,具有多种的视频编辑功能和制作动画效果。但是如果想要让自己制作的视频有意思,背景音乐一定少不了,下面,小编就为大家介绍下会声会影添加背景音乐方...

电脑知识 2024-11-30 0 183

如何制作高质量的PPT?

如何制作高质量的PPT?不管是对于一个学生、老师还是上班族Word、PPT、表格这三个办公软件都是必修的技能了。我们如何将这些做得优秀?如何脱衣而出?所以呀今天我们就先来讨论一下如何制作PPT。如果...

电脑知识 2024-11-30 0 163

感谢您的支持