提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、高德地图API
  • 二、使用步骤
    • 1.引入key
    • 2.创建方法
  • 总结

前言


提示:以下是本篇文章正文内容,下面案例可供参考

一、高德地图的准备工作

1.注册高德地图管理者账号  https://developer.amap.com/  准备好key

2.在index.html body中引入

<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.13&key=your key"></script>
<!DOCTYPE html>
<html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><title>高德地图定位</title><link href="//netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/><script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.13&key=your key"></script></head><body><div id="app" style="width: 100vw; overflow-x: hidden;"></div></body>
</html>

二、创建方法

1.methods

代码如下(示例):

getlocation(){//获取定位let mapObj = new AMap.Map('iCenter', {resizeEnable: true});//添加AMap.Geolocation插件AMap.plugin('AMap.Geolocation', function () {//使用插件以及插件的配置var  geolocation = new AMap.Geolocation({// 是否使用高精度定位,默认:trueenableHighAccuracy: true,// 设置定位超时时间,默认:无穷大timeout: 10000,// 定位按钮的停靠位置的偏移量,默认:Pixel(10, 20)buttonOffset: new AMap.Pixel(10, 20),//  定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:falsezoomToAccuracy: true,//  定位按钮的排放位置,  RB表示右下buttonPosition: 'RB'});geolocation.getCurrentPosition()AMap.event.addListener(geolocation, 'complete', onComplete)AMap.event.addListener(geolocation, 'error', onError)function onComplete (data) {// data是具体的定位信息console.log(data)}function onError (data) {// 定位出错console.log(data)getLngLatLocation()}const self = this;function getLngLatLocation() {AMap.plugin("AMap.CitySearch", function() {var citySearch = new AMap.CitySearch();citySearch.getLocalCity(function(status, result) {if (status === "complete" && result.info === "OK") {// 查询成功,result即为当前所在城市信息console.log(result);AMap.plugin("AMap.Geocoder", function() {var geocoder = new AMap.Geocoder({// city 指定进行编码查询的城市,支持传入城市名、adcode 和 citycodecity: result.adcode});var lnglat = result.rectangle.split(";")[0].split(",");geocoder.getAddress(lnglat, function(status, data) {if (status === "complete" && data.info === "OK") {// result为对应的地理位置详细信息console.log(status,result,data);}});});}});});}});}

2.created

代码如下(示例):

created () {this.getlocation()
},

总结

定位失败的原因

getCurrentPosition返回的message原因解析:

1、Get ipLocation failed:IP精确定位失败,精确IP定位服务目前无法完全覆盖所有用户IP,失败率在5%左右;

2、sdk定位失败:请检查sdk的key是否设置好,以及webview的定位权限及应用和系统的定位权限是否开启。

3、浏览器定位失败,有多种情况:

1)Browser not Support html5 geolocation:浏览器不支持原生定位接口,如IE较低版本的浏览器等;

2)Geolocation permission denied:用户禁用了定位权限,需要用户开启设备和浏览器的定位权限,并在浏览器弹窗中点击“允许使用定位”选项。

3)Geolocation permission denied:浏览器禁止了非安全域的定位请求,比如Chrome、IOS10已陆续禁止,这时候需要升级站点到HTTPS。注意Chrome不会禁止localhost等域名HTTP协议下的定位。

4)Geolocation permission denied:Access to geolocation was blocked over secure connection with mixed content,也就是在Https的页面中引用的http的资源。

5)Get geolocation time out:浏览器定位超时,包括原生的超时,可以适当增加超时属性的设定值以减少这一现象,另外还有个别浏览器(如google Chrome浏览器等)本身的定位接口是黑洞,通过其请求定位完全没有回应,也会超时返回失败。

6)Get geolocation failed:定位失败,Chrome、火狐以及部分套壳浏览器接入的定位服务在国外,有较大限制,失败率高。

注释:如果定位到城市即可满足需求,建议大家改用Geolocation.getCityInfo方法,可以根据IP返回用户所在城市的基本信息,包括省、市名称、adcode、citycode、城市中心点,城市矩形边界等信息。

VUE项目使用高德地图进行精准定位 高德地图API相关推荐

  1. vue(移动端)使用高德地图实现精准定位

    目录 效果图 前提准备 代码展示 效果图 两个页面 页面一(粗略定位) 点击城市进入页面二 (粗略定位),搜索框输入具体位置(以大连理工大学为例) 点击大连理工大学,回到页面一,并展示精准位置 再次点 ...

  2. 高德地图--SDK集成--定位功能 地图定位搜索

    最近项目需要到高德定图定位,就此记录下简单集成思路 下载文件之只放了libs和主要代码文件 https://download.csdn.net/download/qq_38355313/1035261 ...

  3. 腾讯地图实时精准定位

    最近写项目的时候遇到一个问题,需要用到实时定位,H5页面怎么实时定位.然后就是各种百度和文档,试用了很多方法,都不太理想,终于找到一个比较中肯的方法. 我用的是腾讯地图,使用的话去腾讯地图注册账号申请 ...

  4. 百度地图路书(BMapLib.LuShu)------在vue项目中使用原生实现在线和离线地图

    前几天vue项目中需要使用百度地图的路数功能制作历史轨迹,为了离线时也可以正常计算路程等,所以这里选择使用原生离线去实现路书 这里放出百度的官方示例:地图JS API示例 | 百度地图开放平台 我先用 ...

  5. html地图根据坐标定位,百度地图js根据经纬度定位和拖动定位点

    &lt我自址哈这工边识框处己按后大都加控不架的;/scrip比抖朋要插支一圈不者地器享说几t> 定位 body, html, #allmap { width: 100%; height: ...

  6. vue 项目打包通过命令修改 vue-router 模式,修改 API 接口前缀

    需求说明: 在开发 vue 项目的过程中遇到的需求是要把 api 接口前缀暴露在命令行,通过 npm run build apiUrl 即可修改接口入口,用于从 docker 部署到不同的测试服务器上 ...

  7. Vue项目大屏可视化适配 transform+解决高德地图经纬度偏移

    这几天在做大屏项目的屏幕适配. 看到别人提到过使用flexible.js可以完成大屏的适配.我也尝试了一下,但是并没有成功. 参考了一下别人的项目的适配. 简单描述一下这个适配大屏代码的思路,主要通过 ...

  8. 企业微信小程序_集成腾讯地图实现精准定位考勤打卡

    开源项目地址:https://gitee.com/gblfy/tx-position-check-in 关于微信小程序集成腾讯地图详情,可以参考:https://blog.csdn.net/weixi ...

  9. android 高德地图sdk连续定位,高德地图实战:后台持续定位实现

    public class LocationService extends Service { private static final String TAG = "LocationServi ...

最新文章

  1. 计算机性能指标ppt,计算机网络分类与主要性能指标.ppt
  2. GC garbage collection 垃圾回收机制
  3. yolov3 数据预处理
  4. 【C语言】C语言实现面向对象编程之继承
  5. 优良中差五个等级英文表达_25道题测出你的英文水平,太准了!
  6. 程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现) .
  7. 如何使用 HttpReports 监控 .NET Core 应用程序
  8. Ananagrams Uva 156
  9. python常用模块之time和datetime
  10. 响应式图片(srcset属性和picture元素)
  11. 28留数及其应用(四)
  12. 清华大学数学与计算机学院院长,王跃宣(清华大学教授)_百度百科
  13. kafka与zookeeper下载安装及kafka常用命令
  14. 切换计算机管理员身份,管理员身份运行,教您如何设置以管理员身份运行程序...
  15. 摩托罗拉被曝裁员超一半 联想多品牌失败了吗?
  16. 转载:Apache Ignite(一):简介以及和Coherence、Gemfire、Redis等的比较
  17. web前端学习基础教程,简单的图片旋转木马自动轮播js代码
  18. 如果因为溢出导致了结果为负,那么逻辑上真正的结果必然为正
  19. 测绘技能大赛-无人机航测虚拟仿真(内业部分)
  20. python爬虫(爬取王者荣耀英雄图片)

热门文章

  1. Python+ADB脚本
  2. VS“无法查找或打开PDB文件” 解决方案
  3. R语言循环处理数据框
  4. 中印软件产业博弈 一边是白领一边却是民工
  5. 动态规划总结三01背包问题
  6. 返校,然后和校园说再见
  7. sqlserver清空表中的所有数据另类傻瓜方法
  8. CF922 CodeForces Round #461(Div.2)
  9. 硬盘分区表的数据结构
  10. dami 商城项目—用户注册、登录