首页 > 其他分享 >vue前端调用百度定位API进行定位

vue前端调用百度定位API进行定位

时间:2023-02-25 20:14:00浏览次数:58  
标签:定位 vue city ak script API BMap 百度

首先进入 百度地图API 申请百度定位

使用的域名必须填写,否则无法定位

vue前端代码

<template>
  <div>城市:{{city}}</div>
</template>

<script>
import axios from "axios";
import { MP } from "../assets/map.js";
export default {
  mounted() {
    this.getCity();
  },

  data() {
    return {
      //定位城市
      ak: "wqDj1PlCmWtGwvhifXPlww5sp444rdsxomer", //秘钥
      city: ""
    };
  },
  methods: {
    //百度定位城市
    getCity() {
      this.$nextTick(() => {
        MP(this.ak).then(BMap => {
          //在此调用api
          var geolocation = new BMap.Geolocation();
          //  alert("城市:"+ this.city);
          geolocation.getCurrentPosition(a => {
            this.city = a.address.city;
            alert("城市:" + this.city);
          });
        });
      });
    },

    findAll() {}
  }
};
</script>

 
<style scoped>
</style>

讲百度地图API中的AK进行复制到代码中

在assets中创建map.js

export function MP(ak) {
    return new Promise(function (resolve, reject) {
        window.onload = function () {
            resolve(window.BMap)//插入script标签后 会在window上挂一BMap属性,此为跨域获取的数据
        };
        var script = document.createElement("script");
        script.type = "text/javascript";
        script.src = "http://api.map.baidu.com/api?v=2.0&ak=" + ak + "&callback=init";
        script.onerror = reject;
        document.head.appendChild(script);//插入此标签后 会在window上挂一BMap属性,此为跨域获取的数据
    })
}

实现效果

访问的时候必须用上方白名单中的域名进行访问,否则无法进行定位

 

标签:定位,vue,city,ak,script,API,BMap,百度
From: https://www.cnblogs.com/xbinbin/p/17155246.html

相关文章

  • asp.net core web api 输出的 json 中文被编码(乱码)的问题
    可能因为在.netcore3.1后,序列化组件已经是:System.Text.Json,序列化的默认行为有改变。 解决方案1:更换JSON组件(https://q.cnblogs.com/q/114831/)添加Microsoft.As......
  • 解决sharp太慢、失败Could not load js config file/strapi-server.js, pmSomething w
    问题描述项目在本地跑的好好地,使用Windows电脑和MAC电脑,重新下载依赖运行项目均无异常。使用docker部署项目,遇到如下报错[2023-02-2209:55:13.784]debug:⛔️Serverw......
  • day04-原生的API&注解方式
    原生的API&注解方式1.MyBatis原生的API调用1.1原生API快速入门需求:在前面的项目基础上,使用MyBatis原生的API完成,即直接通过SqlSession接口的方法来完成操作1.2代码实......
  • 【vue3】vue3+ts+vite项目创建
    1、npminitvite@lastest 2、项目目录结构  3、npminstall(i) 安装依赖(是根据package.json中devDependencies的依赖安装的)启动命令 dev  打包命令build预......
  • Vue3 + Vite +TS 项目问题总结
    最近做的几个Vue项目基本都收尾了,总结一下在项目中遇到的问题,希望能帮助遇到同样问题的小伙伴项目情况:我做的项目都是Vue3.2(setup语法)+Vite+TS,一个H5项目,一个PC前......
  • 【vue3】实现全屏功能
    前言全屏效果:实现安装依赖包npmi@vueuse/core调用import{useFullscreen}from'@vueuse/core'useFullscreen的使用文档:https://vueuse.org/core/useFull......
  • python Tkinter + 百度翻译API 制作翻译脚本
    importrequestsimportrandomimportjsonimportwin32com.clientfromhashlibimportmd5importtkinterastkroot=tk.Tk()root.title("英语翻译")root.geomet......
  • Vue3学习笔记(1)
    安装//使用yarn构建//安装yarn需要管理员权限sudonpmiyarn-gyarncreatevitecd..yarnyarndev目录结构见名知义四种......
  • Vue ref属性
    ref属性1、被用来给元素或子组件注册引用信息(id的替代者)2、应用在html标签上获取的是真实DOM元素;应用在组件标签上是组件实例对象vc3、使用方法:(1)打标识:<h1ref="XXX"......
  • vue3兄弟组件传参
    兄弟组件传参数mitt使用方式和vue2的事件大巴类似。安装npmimitt-S新建plugin/Bus.jsimportmittfrom'mitt'cosntemitter=mitt()exportdefaultemitterHome.vue<t......