前端vue3项目中百度地图的使用api以及操作实例

 更新时间:2023年05月18日 08:43:21   作者:Chioe__  
最近项目要用到百度地图api,好久没用到地图,就百度了一番,但是找了好几篇文章,发现都没办法成功实现,现将方法记录如下,下面这篇文章主要给大家介绍了关于前端vue3项目中百度地图的使用api以及操作实例,需要的朋友可以参考下

一、使用百度地图的准备工作?

1、先注册百度账号 --> 申请成为百度开发者 --> 获取服务密钥

百度地图官方地址

https://lbsyun.baidu.com/

二、百度地图的简单Demo

以下实例为vue3、ts项目中使用

1、给地图设置一个容器,让地图容器充满网页。

<template>
    <div id="container"></div> //给地图设置一个容器
</template>
 <script>
    ...
 </script>
  <style scoped>
      #container {
        width: 100% !important;
        height: 55vh !important;
        margin: 20px auto;
        overflow: hidden;
      }
  </style>

2、调用百度api

 import { defineComponent, onMounted } from 'vue';
 import { BMPGL } from '@/utils/bmpgl.js';
  export default defineComponent({
    props: {
      longitude: {
        default: '39.915',
        type: String
      },
      latitude: {
        default:'116.404',
        type: String
      },
      title: {
        default: '',
        type: String
      },
      reg_address:{
        default: '',
        type: String
      },
    },
    setup(props) {
      onMounted(() => {
        BMPGL('s5YsFdu79bjzphdfQK1mnqac1o8987EqxjW').then((BMapGL) => {
        // 百度地图API功能
        var map = new BMap.Map('container'); // 创建地图实例 
        var point = new BMap.Point(
            props.longitude,
            props.latitude,  
        );// 创建点坐标 ,
        map.centerAndZoom(new BMap.Point(props.longitude,props.latitude), 2); 
            //初始化地图,设置中心点坐标和地图级别
        var marker = new BMap.Marker(point); // 创建标注
        map.addOverlay(marker); // 将标注添加到地图中
        var opts = {
          width: 200, // 信息窗口宽度
          height: 100, // 信息窗口高度
          title: props.title // 信息窗口标题
        };
        map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
        var infoWindow = new BMap.InfoWindow(
          props.reg_address,
          opts
        ); // 创建信息窗口对象
        marker.addEventListener('click', function () {
          map.openInfoWindow(infoWindow, point); //开启信息窗口
        });
      });
      });
      return{
      }
    }
  });

3、实现的地图效果

 三、百度地图的常用api有哪些?

1、百度地图的类型?

(1) map.setMapType(BMAP_EARTH_MAP); // 设置地图类型为地球模式;

(2) map.setMapType(BMAP_NORMAL_MAP); // 设置地图类型为标准地图模式;

(3) map.setMapType(BMAP_SATELLITE_MAP); // 设置地图类型为普通卫星地图;

2、百度地图控件

前言:控件是负责与地图交互的UI元素,百度地图JS API支持比例尺、缩放、定位、城市选择列表、版权,以及自定义控件。

var scaleCtrl = new BMapGL.ScaleControl();  // 添加比例尺控件
map.addControl(scaleCtrl);
var zoomCtrl = new BMapGL.ZoomControl();  // 添加缩放控件
map.addControl(zoomCtrl);
var cityCtrl = new BMapGL.CityListControl();  // 添加城市列表控件
map.addControl(cityCtrl);
var LocationControl= new BMapGL.LocationControl();  // 添加定位控件,用于获取定位
map.addControl(LocationControl);
var CopyrightControl= new BMapGL.CopyrightControl();  // 添加版权控件,用于展示版权信息
map.addControl(CopyrightControl);

3、具体可见百度地图api文档: https://lbsyun.baidu.com/

总结

到此这篇关于前端vue3项目中百度地图的使用api以及操作的文章就介绍到这了,更多相关vue3百度地图使用api内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue element-ui动态横向统计表格的实现

    vue element-ui动态横向统计表格的实现

    这篇文章主要介绍了vue element-ui动态横向统计表格的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Vue实现类似Spring官网图片滑动效果方法

    Vue实现类似Spring官网图片滑动效果方法

    这篇文章主要介绍了Vue实现类似Spring官网图片滑动效果方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • Vue中v-if、v-if-else、v-else-if与v-show的基本使用

    Vue中v-if、v-if-else、v-else-if与v-show的基本使用

    v-if,v-else,v-else-if,v-if指令用于条件性地渲染一块内容,这块内容只会在指令的表达式返回truth值的时候被渲染,这篇文章主要给大家介绍了关于Vue中v-if、v-if-else、v-else-if与v-show的基本使用,需要的朋友可以参考下
    2022-10-10
  • 如何在基于vue-cli的项目自定义打包环境

    如何在基于vue-cli的项目自定义打包环境

    本篇文章主要介绍了在基于vue-cli的项目自定义打包环境,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • vue3使用vue-i18n的方法详解(ts中使用$t, vue3不用this)

    vue3使用vue-i18n的方法详解(ts中使用$t, vue3不用this)

    所谓的vue-i18n国际化方案就是根据它的规则自己建立一套语言字典,对于每一个字(message)都有一个统一的标识符,下面这篇文章主要给大家介绍了关于vue3使用vue-i18n(ts中使用$t, vue3不用this)的相关资料,需要的朋友可以参考下
    2022-12-12
  • Vuex中mutations和actions的区别及说明

    Vuex中mutations和actions的区别及说明

    这篇文章主要介绍了Vuex中mutations和actions的区别及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • vue-cli如何添加less 以及sass

    vue-cli如何添加less 以及sass

    本篇文章主要介绍了vue-cli如何添加less 以及sass,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Vue 应用中结合vux使用微信 jssdk的方法

    Vue 应用中结合vux使用微信 jssdk的方法

    今天小编就为大家分享一篇Vue 应用中结合vux使用微信 jssdk的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • Vue3子组件实现v-model用法的示例代码

    Vue3子组件实现v-model用法的示例代码

    在Vue 3中,实现自定义的input组件并支持v-model绑定,涉及到对modelValue这个默认prop的处理和对应的update:modelValue事件的触发,本文给大家介绍了Vue3子组件实现v-model用法的示例,需要的朋友可以参考下
    2024-04-04
  • vue-photo-preview图片预览失效的问题及解决

    vue-photo-preview图片预览失效的问题及解决

    这篇文章主要介绍了vue-photo-preview图片预览失效的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09

最新评论