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>
相关推荐
.生产的驴1 天前
Vue3 超大字体font-slice按需分片加载,极速提升首屏速度, 中文分片加载方案,性能优化
前端·vue.js·windows·青少年编程·性能优化·vue·rescript
宁波阿成2 天前
族谱管理系统架构分析与亮点总结
java·系统架构·vue·ruoyi-vue·族谱
不想上班只想要钱2 天前
模板里 item.xxx 报错 ,报 item的类型为未知
前端·vue
一只小阿乐2 天前
js流式模式输出 函数模式使用
开发语言·javascript·ai·vue·agent·流式数据·node 服务
淡忘_cx2 天前
解决 Vite EACCES 权限错误:从报错到修复的完整指南
前端·vue
北城笑笑2 天前
Frontend 与 FPGA 深度融合实战解析:从技术协同到多场景落地( 前端和现场可编程门阵列 )
前端·websocket·3d·vue·fpga
小跘an吻纸2 天前
Vue 3 Composition API实战
typescript·前端框架·vue·响应式
李白的粉3 天前
基于springboot+vue的旅游民宿管理系统
java·spring boot·vue·毕业设计·课程设计·源代码·旅游民宿管理系统
风清云淡_A3 天前
【vue3+ArcGIS5】web开发中的地图功能从入门到实战三:在地图上画形状
vue