html 如何引入 百度地图

要在网页中创建和初始化一个地图,通常需要经过以下几个步骤:获取API密钥(Access key 百度地图开放平台自行注册获取)、加载API脚本、编写HTML、编写JS代码。

下面代码自行测试

html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>百度地图示例</title>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=你的API密钥"></script>
</head>
<body>
    <div id="mapCon" style="width: 100%; height: 500px;"></div>
    <script type="text/javascript">
        var map = new BMap.Map('mapCon');  //创建地图实例
        map.centerAndZoom(new BMap.Point(120.599847, 31.382564), 19); //设置中心点和地图级别
        map.addControl(
          new BMap.MapTypeControl({ mapTypes: [BMAP_NORMAL_MAP, BMAP_HYBRID_MAP] })//添加地图类型控件
        );
        map.addOverlay(new BMap.Marker(new BMap.Point(120.599847, 31.382564)));  //添加标注
        map.enableScrollWheelZoom(true);  //启用鼠标滚轮缩放功能
    </script>
</body>
</html>

vue

<template>
  <div id="mapCon" style="width: 100%; height: 500px;"></div>
</template>

<script>
export default {
  name: 'BaiduMap',
  mounted() {
    this.initMap();
  },
  methods: {
    initMap() {
      // 确保百度地图API脚本已经加载完成
      this.loadBMapScript().then(() => {
        // 创建地图实例
        var map = new BMap.Map('mapCon');
        // 设置中心点坐标和地图级别
        map.centerAndZoom(new BMap.Point(120.599847, 31.382564), 19);
        // 添加地图类型控件
        map.addControl(
          new BMap.MapTypeControl({ mapTypes: [BMAP_NORMAL_MAP, BMAP_HYBRID_MAP] })
        );
        // 添加标注
        map.addOverlay(new BMap.Marker(new BMap.Point(120.599847, 31.382564)));
        // 启用鼠标滚轮缩放
        map.enableScrollWheelZoom(true);
      });
    },
    loadBMapScript() {
      return new Promise((resolve, reject) => {
        if (typeof BMap !== 'undefined') {
          resolve();
          return;
        }         //检查百度地图API是否已加载
        var script = document.createElement('script');
        script.type = 'text/javascript';
        script.src = 'http://api.map.baidu.com/api?v=3.0&ak=你的API密钥'; //创建<script>
        script.onerror = reject;  //处理脚本加载失败和成功
        script.onload = resolve;
        document.head.appendChild(script);
      });
    },
  },
};
</script>

<style>
/* 你的样式 */
</style>
相关推荐
麦兜*3 小时前
轮播图带详情插件、uniApp插件
前端·javascript·uni-app·vue
veminhe3 小时前
uni-app使用组件button遇到的问题
uni-app·vue
cronaldo914 小时前
研发效能DevOps: Vite 使用 Element Plus
vue.js·vue·devops
yg_小小程序员16 小时前
vue3中使用vuedraggable实现拖拽
typescript·vue
川石教育20 小时前
Vue前端开发-缓存优化
前端·javascript·vue.js·缓存·前端框架·vue·数据缓存
漫天转悠1 天前
VScode中配置ESlint+Prettier详细步骤(图文详情)
vscode·vue
落魄实习生2 天前
AI应用-本地模型实现AI生成PPT(简易版)
python·ai·vue·ppt
bpmf_fff2 天前
二九(vue2-05)、父子通信v-model、sync、ref、¥nextTick、自定义指令、具名插槽、作用域插槽、综合案例 - 商品列表
vue
java_heartLake2 天前
Vue3之状态管理Vuex
vue·vuex·前端状态管理
小马超会养兔子2 天前
如何写一个数字老虎机滚轮
开发语言·前端·javascript·vue