百度地图的基本使用

百度地图的基本介绍

1.百度地图JavaScript API GL 是一套由JavaScript语言编写的应用程序接口,使用了WebGL对地图、覆盖物等进行渲染,支持3D视角展示地图。帮助开发者在网站中构建功能丰富、交互性强的地图应用,支持PC端和移动端基于浏览器的地图应用开发。JavaScript API GL提供了丰富的功能接口,包括地图展示、定位、覆盖物、检索、路线规划等,适配多样化的业务场景。

获取秘钥流程

地图的基本使用

  1. 准备好一个页面可以加入这句话 适应移动端页面展示

  2. 设置容器大小

设置容器样式大小,使地图充满整个浏览器窗口:
<style type="text/css">  html{height:100%}    body{height:100%;margin:0px;padding:0px}    #container{height:100%}
</style>
  1. 引用百度地图API文件
<script type="text/javascript" src="https://api.map.baidu.com/api?v=1.0&&type=webgl&ak=您的密钥">
</script>
  1. 创建地图容器元素
地图需要一个HTML元素作为容器,这样才能展现到页面上。这里我们创建了一个div元素
<div id="container"></div>
  1. 创建地图实例
位于BMapGL命名空间下的Map类表示地图,通过new操作符可以创建一个地图实例。其参数可以是元素id也可以是元素对象。
var map = new BMapGL.Map("container");
注意:
1、在调用此构造函数时应确保容器元素已经添加到地图上;
2、命名空间 API GL版使用BMapGL作为命名空间,所有类均在该命名空间之下,比如:BMapGL.Map、BMapGL.Control、BMapGL.Overlay;
  1. 设置中心点坐标
这里我们使用BMapGL命名空间下的Point类来创建一个坐标点。Point类描述了一个地理坐标点,其中116.404表示经度,39.915表示纬度。(为天安门坐标)
var point = new BMapGL.Point(116.404, 39.915);
注意:
在使用百度地图JavaScript API服务时,需使用百度BD09坐标,如使用其他坐标( WGS84、GCJ02)进行展示,需先将其他坐标转换为BD09,详细说明请参考坐标转换说明,请勿使用非官方的转换方法。
  1. 地图初始化,同时设置地图展示级别
在创建地图实例后,我们需要对其进行初始化,BMapGL.Map.centerAndZoom()方法要求设置中心点坐标和地图级别。 地图必须经过初始化才可以执行其他操作
map.centerAndZoom(point, 15);
  1. 地图配置与操作
JS API中的地图对象的外观与行为与百度地图网站上交互的地图非常相似。它支持鼠标拖拽、滚轮缩放、双击放大等交互功能。您也可以修改配置来改变这些功能。
比如,默认情况下地图不支持鼠标滚轮缩放操作,因为这样可能会影响整个页面的用户体验,但是如果您希望在地图中使用鼠标滚轮控制缩放,则可以调用map.enableScrollWheelZoom方法来开启。配置选项可以在Map类参考中找到。
此外,您还可以通过编程的方式与地图交互。Map类提供了若干修改地图状态的方法。例如:setTilt()、setCenter()、panTo()、zoomTo()等等。详细可以参考示例DEMO。
  1. 完整小案例

绘制点、线、面

所有叠加或覆盖到地图的内容,我们统称为地图覆盖物。覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动。目前JSAPI GL版支持的覆盖物以基本图形为主。本节重点介绍一下如何向地图添加标注,以及与地图相关的一些交互。

  1. 提供的覆盖物可以使用map.addOverlay方法向地图添加覆盖物,使用map.removeOverlay方法移除覆盖物。

  2. 添加标注点
    Marker是一个用来往地图上添加点标记的类。使用它将任何你希望用户看到的兴趣点标注在地图上。
    API提供了默认图标样式,您也可以通过Icon类来指定自定义图标。Marker的构造函数的参数为Point和MarkerOptions(可选)。
    注意:当您使用自定义图标时,标注的地理坐标点将位于标注所用图标的中心位置,您可通过Icon的offset属性修改标定位置。

  3. 向地图中添加标注

如下示例,向地图中心点添加了一个标注,并使用默认的标注样式:
var point = new BMapGL.Point(116.404, 39.915);
var marker = new BMapGL.Marker(point);        // 创建标注
map.addOverlay(marker);                     // 将标注添加到地图中
  1. 向地图中添加标注
    定义标注图标 通过Icon类可实现自定义标注的图标,下面示例通过参数MarkerOptions的icon属性进行设置,您也可以使用marker.setIcon()方法。
var myIcon = new BMapGL.Icon("markers.png", new BMapGL.Size(23, 25), {   // 指定定位位置。  // 当标注显示在地图上时,其所指向的地理位置距离图标左上   // 角各偏移10像素和25像素。您可以看到在本例中该位置即是  // 图标中央下端的尖角位置。   anchor: new BMapGL.Size(10, 25),   // 设置图片偏移。  // 当您需要从一幅较大的图片中截取某部分作为标注图标时,您  // 需要指定大图的偏移位置,此做法与css sprites技术类似。   imageOffset: new BMapGL.Size(0, 0 - 25)   // 设置图片偏移
});     // 创建标注对象并添加到地图
var marker = new BMapGL.Marker(point, {icon: myIcon});
map.addOverlay(marker);
  1. 监听标注事件
    JSAPI支持监听覆盖物的事件。
marker.addEventListener("click", function(){   alert("您点击了标注");
});

添加折线

Polyline表示地图上的折线覆盖物,它包含一组点,并将这些点连接起来形成折线。

  1. 首先参考展示地图创建基本地图,之后添加折线覆盖物到地图中。折线覆盖物可以分别设置描边粗细、颜色、填充颜色等属性。
var polyline = new BMapGL.Polyline([new BMapGL.Point(116.399, 39.910),new BMapGL.Point(116.405, 39.920),new BMapGL.Point(116.425, 39.900)], {strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});
map.addOverlay(polyline);

添加多边形

Polygon表示地图上的多边形覆盖物,它包含一组点。多边形将这组点按顺序首尾相连,最终围成一个封闭图形。

  1. 添加多边形
    首先参考展示地图创建基本地图,之后添加多边形覆盖物到地图中。多边形覆盖物可以分别设置描边粗细、颜色、填充颜色等属性。
var polygon = new BMapGL.Polygon([new BMapGL.Point(116.387112,39.920977),new BMapGL.Point(116.385243,39.913063),new BMapGL.Point(116.394226,39.917988),new BMapGL.Point(116.401772,39.921364),new BMapGL.Point(116.41248,39.927893)], {strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});
map.addOverlay(polygon);

【无标题】百度地图的基本使用相关推荐

  1. 百度地图鹰眼轨迹服务

    这里写目录标题 百度地图鹰眼轨迹服务 鹰眼轨迹服务概述: 鹰眼轨迹服务基本概念: 权限与配额: 创建鹰眼服务: 获取服务id: 终端管理: 添加entity: 添加entity自定义字段: 更新ent ...

  2. 浏览器端调用百度地图API,但地图无显示(细节问题)

    文章目录 调用JavaScript API,地图无显示解决方案 1.未输入AK((Access Key)或类型错误 2.路径有误(url未添加http:或https:) 3.JavaScript文件- ...

  3. 基于Cesium使高德地图、百度地图、腾讯地图与天地图无偏移叠加

    基于Cesium使高德地图.百度地图.腾讯地图与天地图无偏移叠加 需求的产生 方法的探索 经验总结 需求的产生 在Cesium框架中,可以支持很多ImageryProvider,但是Viewer只用一 ...

  4. Cesium加载无偏移百度、高德地图

    前言 使用cesium加载地图服务时,cesium默认的地理坐标系是WGS84坐标,一般添加天地图的地图服务时不会发生地图偏移的情况(其实也有,但是可以忽略不计),直接加载就可以,但在添加百度.高德地 ...

  5. 使用OpenLayer加载百度地图(无偏移)

    本文使用OpenLayers最新版本V5.3.0演示:如何使用OpenLayer完美无偏移加载百度离线瓦片地图.OpenLayers 5.3.0下载地址为:https://github.com/ope ...

  6. Android百度地图POI检索无标记显示问题

    源码地址 Github:https://github.com/Abbylolo/BasicBaiduMap Gitee: https://gitee.com/wild-piglolo/basic-ba ...

  7. 百度地图API开发指南

    百度地图API开发指南 本文为百度地图API官方版本的开发指南,供各位51CTO的网友进行参考. 简介什么是百度地图API? 百度地图API是一套由JavaScript语言编写的应用程序接口,它能够帮 ...

  8. java百度地图添加标注_调取百度地图接口,实现取自己的实时位置,然后可以在百度地图上添加信息标注...

    前几天接了一个小项目,就是有关百度地图的,和我的上一篇不一样,上一篇是复制人家的源代码是把东西写死了的,这次的比较有难度,要调取他的接口,用js来实现. 下面我先说一下主要实现的功能,和要实现的页面 ...

  9. 调取百度地图接口,实现取自己的实时位置,然后可以在百度地图上添加信息标注...

    前几天接了一个小项目,就是有关百度地图的,和我的上一篇不一样,上一篇是复制人家的源代码是把东西写死了的,这次的比较有难度,要调取他的接口,用js来实现. 下面我先说一下主要实现的功能,和要实现的页面 ...

最新文章

  1. [安卓] 12、开源一个基于SurfaceView的飞行射击类小游戏
  2. mysql存储过程加多个创建表_mysql 存储过程创建多个表
  3. 墨瞳漫画h5一期 vuejs总结
  4. 人工智能大牛的新年启示:未来要看无监督学习、自然语言处理
  5. HDU2050 折线分割平面
  6. Handlebars模板库浅析
  7. python2转python3代码_python2代码批量转为python3代码
  8. StringBuilder-C#字符串对象
  9. 关于TCP/IP协议
  10. mt6573芯片资料汇总
  11. Excel中根据输入内容 自动填充时间、自动增加边框、自动添加背景颜色
  12. 一名菜鸟程序员的跳槽经历以及其所感所想(二)
  13. 防火墙的策略路由PBR
  14. 吃土豆_nyoj_234(动态规划).java
  15. 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。
  16. TTL、Ping包最大字节数、网络时延、抖动、丢包率,看完瞬间变大神!
  17. iOS 13 修改状态栏背景色
  18. pycharm创建django项目及开发初准备
  19. Linux7安装keepalive,keepalive配置文件详解
  20. win7计算机用户文件夹,win7系统盘里有一个用户文件夹

热门文章

  1. 京东商品爬虫实战笔记
  2. node.js毕业设计安卓校园代办助手app(程序+APP+LW)
  3. 拜托,在学校开拖拉机很酷的!
  4. 电话号码的字母组合(Java)
  5. Javascript实现全屏阅读和复制功能
  6. 夕阳美,美到骨子里了
  7. 假脱机技术——实现独占设备变成共享设备
  8. java技能要求_Java工程师需要具备的25个技能
  9. 微信小程序-创建小程序+编写学生评教系统的学生登录页面
  10. 发送消息(SendMessage)常识普及