IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue 实现定位到当前位置 -> 正文阅读

[JavaScript知识库]vue 实现定位到当前位置

定位的三种实现方法

目前网页定位,使用的是浏览器定位,高德地图定位,百度地图定位,浏览器和高德我都试了,在火狐上是可以的,在谷歌浏览器不可以,高德地图官方解释是:

个别浏览器(如google Chrome浏览器等)本身的定位接口是黑洞,通过其请求定位完全没有回应,也会超时返回失败。

vue 获取当前位置经纬度(浏览器定位)
在vue中使用高德地图,获取定位
我这个网页,需要放在安卓app内,因为安卓的webview是谷歌内核,所以不会支持,最后我使用了百度地图,发现是可以的
Vue实现城市定位(利用百度地图

我这边有改动,我需要根据经纬度来转换到具体的地址。要先去申请ak,这个看官方文档
JavaScript API GL
在public文件夹下的index.html中引入百度的引用

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta base="/" id="base" />
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta
      name="viewport"
      content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover,user-scalable=no"
    />

    <link rel="icon" href="<%= BASE_URL %>favicon.ico" />
    <title>第一个vue</title>
    <meta name="format-detection" content="telephone=yes"/>
 
    <script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=xxxxx"></script>
    <script type="text/javascript" src="https://api.map.baidu.com/api?v=1.0&&type=webgl&ak=xxxxxx"></script>
    
  </head>

  <body>

在vue.config.js里

  //压缩打包文件大小
  configureWebpack: (config) => {
  
    config.externals = {
      "BMap": 'BMap'

在需要定位的地方。second.vue里使用

<template>
  <div>{{ LocationCity }}</div>
</template>
<script>
export default {
  name: "home",
  data() {
    return {
      musicTypeJSON: {},
      searchValue: "",
      result: [],
      titleTypeJSON: {}, //热门城市
      LocationCity: "正在定位...", //一个初始值''
    };
  },
  methods: {
    city() {
      //定义获取城市方法
      const geolocation = new BMap.Geolocation();
      var _this = this;
      geolocation.getCurrentPosition(
        function getinfo(position) {
          let city = position.address.city; //获取城市信息
          let province = position.address.province; //获取省份信息
          console.log(position);
          // 创建地理编码实例
          var myGeo = new BMapGL.Geocoder();
          // 根据坐标得到地址描述
          myGeo.getLocation(
            new BMapGL.Point(position.longitude, position.latitude),
            function (result) {
              if (result) {
               
                  _this.LocationCity ="经纬度:"+position.longitude+","+position.latitude+",地址:"+
                  result.address;;
              }
            }
          );
        
        },
        function (e) {
          _this.LocationCity = "定位失败";
        },
        { provider: "baidu" }
      );
    },
  },
  mounted() {
    this.city(); //触发获取城市的方法
  },
};
</script>
<style>
div {
  word-break: break-all;
}
</style>
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-06-23 00:51:33  更:2022-06-23 00:51:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:10:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码