百度地图Web开发

news/2024/7/10 0:32:37 标签: javascript, vue, 百度

目录

    • Javascript API
        • 申请百度开发者账号,获取服务密钥(ak)
        • 在网页中开发
        • 在Vue项目中开发

Javascript API

百度地图JavaScript API是一套由JavaScript语言编写的应用程序接口,可在网站中构建功能丰富、交互性强的地图应用,支持PC端和移动端基于浏览器的地图应用开发,且支持HTML5特性的地图开发。百度地图JavaScript API支持HTTP和HTTPS,免费对外开放,可直接使用。接口使用无次数限制。

申请百度开发者账号,获取服务密钥(ak)

  1. 百度地图开放平台,选择导航“控制台”,在应用管理-我的应用中点击“创建应用”,应用名称随便填写你的应用名称,应用类型选择“浏览器端”,启用服务务必勾上“JavaScript api”,白名单填写“*”(测试阶段,后面填自己的项目域名)。如图:
    在这里插入图片描述

  2. 返回控制台后即可看到自己应用的开发密钥

在网页中开发

在网页中直接将百度地图api引入到自己的HTML中即可,如官网的示例(有所更改):

<!DOCTYPE html>
<html>

<head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Hello, World</title>
    <style type="text/css">
        html {
            height: 100%
        }

        body {
            height: 100%;
            margin: 0px;
            padding: 0px
        }

        #container {
            height: 100%
        }
    </style>
    <script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=您的密钥">javascript">
        //v3.0版本的引用方式:src="https://api.map.baidu.com/api?v=3.0&ak=您的密钥"
    </script>
</head>

<body>
    <div id="container"></div>
    <script type="text/javascript">javascript">
        // 创建地图实例  
        var map = new BMap.Map("container")
        // 创建点坐标  
        var point = new BMap.Point(116.404, 39.915)
        // 标注
        const marker = new BMap.Marker(point)
        // 可缩放
        map.enableScrollWheelZoom()
        // 添加覆盖物
        map.addOverlay(marker)
        // 初始化地图,设置中心点坐标和地图级别
        map.centerAndZoom(point, 15);
    </script>
</body>

</html>

效果如下:
<a class=百度地图demo" title="百度地图demo" />

在Vue项目中开发

也可在index.html添加引用,此处提供一种异步加载百度地图api的方式:

  1. 在项目中新建一个js文件:loadBMap.js,添加如下代码:
javascript">/**
 * 加载百度地图api
 * @param {String} 百度地图开放平台密钥 ak
 * @returns {Promise} resolve(BMap),reject(error)
 */
/* global BMap */
export default function loadBMap(ak) {
  return new Promise(function(resolve, reject) {
    if (typeof BMap !== 'undefined') {
      resolve(BMap)
    } else {
      window.onBMapCallback = function() {
        resolve(BMap)
      }
      const script = document.createElement('script')
      script.type = 'text/javascript'
      script.src =
        'http://api.map.baidu.com/api?v=3.0&ak=' + ak + '&callback=onBMapCallback'
      script.onerror = reject
      document.head.appendChild(script)
    }
  })
}

  1. 在需要使用到百度地图的组件中引入该js即可,使用方式如下:
javascript"><template>
  <div id="container" style="width: 100%; height: 800px" />
</template>

<script>
// 此处loadBMap的路径改为你自己的存放路径
  import loadBMap from "@/utils/loadBMap";
  export default {
    name: "Test",
    data() {
      return {};
    },
    mounted() {
      this.renderBMap();
    },
    methods: {
      renderBMap() {
        loadBMap(`你的密钥`)
          .then(() => {
            const BMap = BMap || undefined;
            const map = new BMap.Map("container");
            const point = new BMap.Point(116.404, 39.915);
            const BMAP_ANIMATION_BOUNCE = BMAP_ANIMATION_BOUNCE || undefined;
            map.centerAndZoom(point, 15);
            const marker = new BMap.Marker(point);
            map.addOverlay(marker); 
            marker.setAnimation(BMAP_ANIMATION_BOUNCE);
          })
          .catch((err) => {
            alert(err);
          });
      },
      FUN() {},
    },
  };
</script>

不出意外,以上代码会得到一个在天安门跳动的点。
在这里插入图片描述


http://www.niftyadmin.cn/n/805053.html

相关文章

JSP开发入门(二)----JSP语法的基本原理 (转)

JSP开发入门(二)----JSP语法的基本原理 (转)[more]安装之后&#xff0c;接下来我们要讨论JSP的语法.如果要偷懒&#xff0c;你可以下载语法卡而如果你不熟悉 Java的程序设计&#xff0c;你可能会想要参考Sun的使用手册&#xff1b;然而&#xff0c;网站建立者不应该做太多的Jav…

【Spring】IOC:初始化源码流程(下)注册 BeanDefinition

向IOC容器注册在第二步解析好的 BeanDefinition&#xff0c;这个过程是通过 BeanDefinitionRegistery 接口来实现的。在 IOC 容器内部其实是将第二个过程解析得到的 BeanDefinition 注入到一个 HashMap 容器中&#xff0c;IOC 容器就是通过这个 HashMap 来维护这些 BeanDefinit…

15个常用excel函数公式_excel表格时间和日期应用 – Excel常用函数公式及技巧

excel表格时间和日期应用 – Excel常用函数公式及技巧自动显示当前日期公式YEAR(NOW()) 当前年MONTH(NOW()) 当前月DAY((NOW())) 当前日如何在单元格中自动填入当前日期Ctrl;如何判断某日是否星期天WEEKDAY(A2,2)TEXT(A1,”aaaa”)MOD(A1,7)<2某个日期是星期几比如 2007 年 …

Linux下用于查看系统当前登录用户信息的4种方法

作为系统管理员&#xff0c;你可能经常会&#xff08;在某个时候&#xff09;需要查看系统中有哪些用户正在活动。有些时候&#xff0c;你甚至需要知道他&#xff08;她&#xff09;们正在做什么。本文为我们总结了4种查看系统用户信息&#xff08;通过编号&#xff08;ID&…

好家伙,被我发现了个数据结构与算法可视化网站!

‍‍大家好&#xff0c;我是晓衡。看到了小林哥这篇讲数据结构算法可视化网站的文章&#xff0c;觉得很不错&#xff0c;分享给大家&#xff0c;正文如下。网上有很多这类数据结构与算法可视化的网站&#xff0c;能够自己输入数据&#xff0c;然后看对应的数据结构/算法的动图&…

【Spring】IOC:源码流程的核心类时序图

IOC 容器初始化可以简单的分为三步&#xff1a;定位 Resource > 加载 BeanDefinition > 注册 BeanDefinition 【Spring】IOC&#xff1a;初始化源码流程&#xff08;上&#xff09;定位 Resource【Spring】IOC&#xff1a;初始化源码流程&#xff08;中&#xff09;加载…

idea 对应的git版本_厉害了!IDEA中如何使用Git进行项目管理,完整教程来了?

第一部分:安装1. 下载地址: https://git-scm.com/download/win如果速度慢, 使用 迅雷下载;2. 点击安装, 然后下一步, 直到下面这个页面:建议: 按照上面所示方式选中复选框 ;3. 点击下一步, 直到出现这个页面:建议: 这个页面是选择git使用的命令行, 建议使用第一个git自带的;4. …

百度地图开发自定义图标无法显示的问题

直接上解决方案 引入图标需要使用require关键字&#xff0c;不能只写资源路径&#xff1a; 你的图标的大小必须与百度地图设置的图标size一致&#xff0c;比如下图在icon font中下载了一个图标&#xff08;200 * 200&#xff09;&#xff0c;在引入百度地图后&#xff0c;百…