• Java百度地图教程:创建地图应用与基本API的使用


    一. 创建地图应用

    首先,打开百度开放平台,注册账号,根据提示认证过后进入控制台。

    选择创建应用之后,填上应用名称,选择浏览器端(基础开发者选择这个),Refer白名单填*号(开发方便时使用)即可。

    点完提交过后,页面自动跳转,显示创建的应用信息:其中最重要的信息就是访问应用的AK相当于唯一的键。

    二. 展示地图 

    通过编写代码,展示地图主要分为以下几步,可以参考展示地图Demo

    1. html>
    2. <html>
    3. <head>
    4. <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    6. <title>Baidu Map title>
    7. <style type="text/css">
    8. html{height:100%}
    9. body{height:100%;margin:0px;padding:0px}
    10. #container{height:100%}
    11. style>
    12. <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&type=webgl&ak=Ej7yM4z9FsPyVgCZ5DotIPcc05PaLi06">script>
    13. head>
    14. <body>
    15. <div id="container">div>
    16. <script>
    17. // 创建地图实例
    18. var map = new BMapGL.Map("container");
    19. // 创建点坐标
    20. var point = new BMapGL.Point(116.404, 39.915);
    21. // 初始化地图,设置中心点坐标和地图级别
    22. map.centerAndZoom(point, 15);
    23. //设置地图旋转角度
    24. map.setHeading(64.5);
    25. //设置地图的倾斜角度
    26. map.setTilt(73);
    27. // 禁止地图旋转和倾斜可以通过配置项进行设置
    28. var map = new BMapGL.Map("allmap",{
    29. enableRotate: false,
    30. enableTilt: false
    31. });
    32. script>
    33. body>
    34. html>

    以上代码需要注意的是, ak需要填写自己上面申请后的AK值。

    展示效果:

    三. 案例一:为地图添加控件

    加入控件是开发的基础操作,参照官方文档添加控件

    将上述代码加入比例尺,缩放以及展示城市的控件

    1. html>
    2. <html>
    3. <head>
    4. <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    6. <title>Baidu Map title>
    7. <style type="text/css">
    8. html{height:100%}
    9. body{height:100%;margin:0px;padding:0px}
    10. #container{height:100%}
    11. style>
    12. <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&type=webgl&ak=Ej7yM4z9FsPyVgCZ5DotIPcc05PaLi06">script>
    13. head>
    14. <body>
    15. <div id="container">div>
    16. <script>
    17. // 创建地图实例
    18. var map = new BMapGL.Map("container");
    19. // 创建点坐标
    20. var point = new BMapGL.Point(116.404, 39.915);
    21. // 初始化地图,设置中心点坐标和地图级别
    22. map.centerAndZoom(point, 15);
    23. //设置地图旋转角度
    24. map.setHeading(64.5);
    25. //设置地图的倾斜角度
    26. map.setTilt(73);
    27. // 添加比例尺控件
    28. var scaleCtrl = new BMapGL.ScaleControl();
    29. map.addControl(scaleCtrl);
    30. // 添加缩放控件
    31. var zoomCtrl = new BMapGL.ZoomControl();
    32. map.addControl(zoomCtrl);
    33. // 添加城市列表控件
    34. var cityCtrl = new BMapGL.CityListControl();
    35. map.addControl(cityCtrl);
    36. // 禁止地图旋转和倾斜可以通过配置项进行设置
    37. var map = new BMapGL.Map("allmap",{
    38. enableRotate: false,
    39. enableTilt: false
    40. });
    41. script>
    42. body>
    43. html>

    图中标注,所添加的控件已经添加成功了。

    三. 案例二:为地图添加覆盖物

    可以在地图上添加覆盖物,覆盖物拥有自己的坐标,当扩大或缩小地图时会跟着移动。

    试着参考:添加覆盖物

    现在在地图上的某个位置添加红点覆盖物。

    1. html>
    2. <html>
    3. <head>
    4. <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    6. <title>Baidu Map title>
    7. <style type="text/css">
    8. html{height:100%}
    9. body{height:100%;margin:0px;padding:0px}
    10. #container{height:100%}
    11. style>
    12. <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&type=webgl&ak=Ej7yM4z9FsPyVgCZ5DotIPcc05PaLi06">script>
    13. head>
    14. <body>
    15. <div id="container">div>
    16. <script>
    17. // 创建地图实例
    18. var map = new BMapGL.Map("container");
    19. // 创建点坐标
    20. var point = new BMapGL.Point(116.404, 39.915);
    21. // 初始化地图,设置中心点坐标和地图级别
    22. map.centerAndZoom(point, 15);
    23. // 开启鼠标滚动
    24. map.enableScrollWheelZoom(true);
    25. // 创建标注
    26. var marker = new BMapGL.Marker(point);
    27. // 将标注添加到地图中
    28. map.addOverlay(marker);
    29. script>
    30. body>
    31. html>

    效果:红点覆盖物就会出现在地图之上。

    也可以自定义覆盖物Logo,并对Logo进行鼠标监听,点击过后会出现弹窗。

    1. html>
    2. <html>
    3. <head>
    4. <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    6. <title>Baidu Map title>
    7. <style type="text/css">
    8. html{height:100%}
    9. body{height:100%;margin:0px;padding:0px}
    10. #container{height:100%}
    11. style>
    12. <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&type=webgl&ak=Ej7yM4z9FsPyVgCZ5DotIPcc05PaLi06">script>
    13. head>
    14. <body>
    15. <div id="container">div>
    16. <script>
    17. // 创建地图实例
    18. var map = new BMapGL.Map("container");
    19. // 创建点坐标
    20. var point = new BMapGL.Point(116.404, 39.915);
    21. // 初始化地图,设置中心点坐标和地图级别
    22. map.centerAndZoom(point, 15);
    23. // 开启鼠标滚动
    24. map.enableScrollWheelZoom(true);
    25. var myIcon = new BMapGL.Icon("1.jpeg", new BMapGL.Size(23, 25), {
    26. // 指定定位位置。
    27. // 当标注显示在地图上时,其所指向的地理位置距离图标左上
    28. // 角各偏移10像素和25像素。您可以看到在本例中该位置即是
    29. // 图标中央下端的尖角位置。
    30. anchor: new BMapGL.Size(10, 25),
    31. // 设置图片偏移。
    32. // 当您需要从一幅较大的图片中截取某部分作为标注图标时,您
    33. // 需要指定大图的偏移位置,此做法与css sprites技术类似。
    34. imageOffset: new BMapGL.Size(0, 0 - 25) // 设置图片偏移
    35. });
    36. // 创建标注对象并添加到地图
    37. var marker = new BMapGL.Marker(point, {icon: myIcon});
    38. map.addOverlay(marker);
    39. marker.addEventListener("click", function(){
    40. alert("您点击了标注");
    41. });
    42. script>
    43. body>
    44. html>

    展示效果,如下: 

     

  • 相关阅读:
    HAL库 CubeMX STM32采用SDIO实现对SD卡和NAND Flash的读写
    一幅长文细学TypeScript(一)——上手
    工具安装手册
    汽车一键启动智能系统功能作用
    商城多语言改造方案
    softmax汇总
    当ReadFile和WriteFile的lpOverlapped参数为NULL时,那么必须指定一定有效的地址用来存放读写的字节数
    Java项目:ssm赛事打分系统
    【Spring笔记05】Spring的自动装配
    妙啊,Python 管道 Pipe 编写代码如此优雅
  • 原文地址:https://blog.csdn.net/qq_41857955/article/details/125882531