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>
相关推荐
是梦终空13 小时前
计算机毕业设计248—基于Java+Springboot+vue的博物馆预约系统(源代码+数据库+开发文档)
java·spring boot·vue·毕业设计·jwt·博物馆预约系统·博物馆网站
@AfeiyuO16 小时前
Vue 全局引用iconfon
vue
@AfeiyuO18 小时前
多层环形图,自定义tooltip
vue·echarts
JIngJaneIL19 小时前
基于Java失物招领系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·vue
by__csdn19 小时前
Vue 双向数据绑定深度解析:从原理到实践的全方位指南
前端·javascript·vue.js·typescript·前端框架·vue·ecmascript
catchadmin1 天前
Vite 8 Beta:Rolldown 驱动的新一代 Vite
vue
IT教程资源C2 天前
(N_128)基于springboot,vue酒店管理系统
mysql·vue·前后端分离·酒店管理系统·springboot酒店
Apeng_09192 天前
ui-picture-bd-marker实现图片标注功能
ui·vue
悟能不能悟2 天前
router跳转的几种方式
vue
zhz52142 天前
重构与集成的诱惑
ai·重构·node.js·vue·持续集成·结对编程