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>
相关推荐
小强库计算机毕业设计12 小时前
SpringBoot+Vue3 学生宿舍管理系统实战
java·spring boot·后端·vue·学生宿舍管理系统
TELL5213 天前
vue前端架构
vue
南城以南溫暖如初1473 天前
社区健身小程序开发流程详解:技术选型与实施经验分享
java·经验分享·spring boot·mysql·vue·apache
万亿少女的梦1683 天前
基于Spring Boot、Vue与MySQL的私人健身教练预约管理系统设计
java·spring boot·mysql·vue·预约管理
满栀5855 天前
vue动态路由效果
前端·javascript·vue.js·前端框架·vue
碧水澜庭5 天前
头条【vue+fastapi 】全栈教学项目系列之《02_双系统零基础环境搭建手册》
vue·fastapi
DsirNg7 天前
从 `@wheel.prevent.stop` 到事件捕获:一次讲清浏览器事件流与 Vue 事件修饰符
javascript·vue·事件修饰符·事件冒泡·dom 事件·事件捕获·wheel
其美杰布-富贵-李7 天前
Vue 3 模板语法速通:彻底理解 `:`、`@`、`#`、`v-if`、`v-for` 与 `v-model`
vue
DsirNg8 天前
基于拓扑排序的画布自动布局:用最长上游路径决定节点列级
vue·流程图·拓扑排序·状态管理·有向图·自动布局·最长路径
way_hj9 天前
Flask笔记(2)快速web项目
笔记·flask·vue·web