一、精准定位,需要https,需要用户手动同意。

在初次进入时进行定位,定位成功,保存定位所在城市。再次进入不定位,使用上一次的定位。

1.首先引入高德地图api

<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.1&key=你自己的key"></script>

2.在页面加入一个div

<div id="container" style="display: none;"></div>

3.定位

         var map = new AMap.Map('container', {resizeEnable: true});//定位if(localStorage.getItem("xcity") != null || localStorage.getItem("xcity") != "") {//如果存储了city就使用上一次存储的cityvar xcity = localStorage.getItem("xcity") } else {   //否则重新定位map.plugin('AMap.Geolocation', function() {geolocation = new AMap.Geolocation({enableHighAccuracy: true, //是否使用高精度定位,默认:truetimeout: 10000, //超过10秒后停止定位,默认:无穷大noIpLocate: 0,maximumAge: 0, //定位结果缓存0毫秒,默认:0convert: true, //自动偏移坐标,偏移后的坐标为高德坐标,默认:trueshowButton: false, //显示定位按钮,默认:truebuttonPosition: 'LB', //定位按钮停靠位置,默认:'LB',左下角buttonOffset: new AMap.Pixel(10, 20), //定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)showMarker: false, //定位成功后在定位到的位置显示点标记,默认:trueshowCircle: false, //定位成功后用圆圈表示定位精度范围,默认:truepanToLocation: false, //定位成功后将定位到的位置作为地图中心点,默认:truezoomToAccuracy: false //定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false});map.addControl(geolocation);geolocation.getCurrentPosition();AMap.event.addListener(geolocation, 'complete', onComplete); //返回定位信息AMap.event.addListener(geolocation, 'error', onError); //返回定位出错信息});function onComplete(data) {var xcity = data.addressComponent.city //定位的城市名称//经纬度var lng = data.position.getLng()var lat = data.position.getLat()localStorage.setItem("xcity", xcity) //把定位存在localStorage,下次进入不会重新定位}//解析定位错误信息function onError(data) {//  alert("定位失败")var xcity = "青岛市" //在这里可以添加一个默认城市,在定位出错之后使用此默认城市(或者返回定位出错)}}
//在这里写获取定位之后的ajax
//比如获取离我最近的景点地区

4.在手动选择城市之后更改localStorage

二、只获得城市的定位,缺点:不精准,有几率出错。优点:不弹窗,http也可以使用

1.2.4.同上

3.定位

         if(localStorage.getItem("xcity") == null || localStorage.getItem("xcity") == "") { //如果存储了city就使用上一次存储的cityvar xcity = localStorage.getItem("xcity")} else { //否则重新定位map.getCity(function(data) {if(data['province'] && typeof data['province'] === 'string') {var xcity = data['city'] || data['province']localStorage.setItem("xcity", xcity) //把定位存在localStorage,下次进入不会重新定位}});}//写获取定位之后的ajax

利用高德地图api进行定位相关推荐

  1. 利用高德地图API实现定位功能

    ① 注册高德地图的开发者,获取key 过程如图 ②下载SDK,导入jar包 注意这里要导入高德地图定位SDK的jar包!!! 如果你先前导入过地图SDK(如2D,3D地图的SDK)再导入定位的SDK运 ...

  2. 利用高德地图API获取任意两座城市之间的距离!异地也有惊喜!

    工作中有时会遇到这样一种场景:年末需要统计所有员工该年的航旅出差情况,然后根据他们的飞行距离补贴一定的交通费.例如如下所示情况: 然而,如果我们使用地图APP等工具逐一进行手工查询,在一家规模稍大的公 ...

  3. python高德地图api调用实例_Python 利用高德地图api实现经纬度与地址的批量转换...

    我们都知道,可以使用高德地图api实现经纬度与地址的转换.那么,当我们有很多个地址与经纬度,需要批量转换的时候,应该怎么办呢? 在这里,选用高德Web服务的API,其中的地址/逆地址编码,可以实现经纬 ...

  4. python调用高德地图api 可视化_Python:利用高德地图API实现找房

    记:本项目是在实验楼上看到的,但是上面的代码由于没有及时维护,爬虫文件的代码不再能完整的把所有房源信息爬取下来,我根据最新的58同城官网进行了研究,现在的官网的房源信息已经不是分页的了,而是拉到最后自 ...

  5. android 地铁地图api,利用高德地图api绘制公交+地铁的等时圈

    等时圈是指从某点出发,以某种交通方式在特定时间内能到达的距离覆盖的范围,在可达性分析中十分常见.原本我们需要将地图栅格化不停地调用路径规划api来获得等时圈,现在已经有网站为我们做好了这些工作,比如h ...

  6. uniapp+高德地图api 获取定位信息及详细地址

    引入高德地图js api 高德地图api官方文档 根据官方文档建议,我使用的是JSAPI Loader 并且是通过npm安装的 npm i @amap/amap-jsapi-loader --save ...

  7. Android利用百度地图API实现定位功能(记录)

    本篇主要介绍一下如何使用百度地图API来实现定位以及地图的基本使用. 效果图如下: 步骤如下: 一.申请APIKey. (1)注册百度账号并申请开发者资质:http://developer.baidu ...

  8. h5手机端或PC端利用高德地图获取当前定位位置

    踩的坑写在前面: 想直接利用h5的特性来获取,但是一直报错,需要https服务,结果还去了阿里云搞ssl的域名卡住了,然后一直报未检测到DNS配置记录,如果你们服务是https就可以直接用这个了. 后 ...

  9. js应用高德地图API精确定位到门牌号标注并输出当前地址和经纬度

    主要就是两个方法,逆地址解析和地址解析过程,以及Chrome只支持https的定位. <head><meta charset="utf-8"><met ...

最新文章

  1. ios转向前端进阶之:html标签类型
  2. mysql的date函数可以干啥,MySql的Date函数
  3. MQTT客户端工具MQTTfx
  4. 老鼠的求爱之旅 (DP)
  5. Spring cloud(Finchley)微服务框架,sleuth整合zipkin链路追踪失效的问题
  6. 每日程序C语言42-带头结点的尾插法创建链表
  7. 看美文,记单词(6)
  8. smote算法_支持向量机算法的可解释和可视化
  9. 计算机隐藏用户设置,Win10电脑怎么设置隐藏账户?电脑如何设置隐藏账户?
  10. 基于JAVA+SpringMVC+MYSQL的小说管理系统
  11. Prometheus正式从CNCF毕业
  12. java/php/net/pythont房产信息管理系统设计
  13. 小白学习倍福的必经之路
  14. 怎么在Chrome浏览器中插入IDM软件的扩展插件?
  15. ​常见的8个概率分布公式和可视化
  16. 转:一个基于互联网医疗的创业公司,三年是一个收获
  17. android 工具 Draw 9-patch 详解
  18. 高仿Telegram IM Chat 聊天软件 即时通讯 在线聊天加社群 纯静态UI架构介绍
  19. Java最小因式分解_Javascript-625-最小因式分解——腾讯面试题库
  20. 【android工具篇】Firefly-RK系列(eg:RK3288 RK3368)一键获取root权限工具RootUtils

热门文章

  1. 微信论坛交流小程序系统毕业设计毕设(3)后台功能
  2. spark入门【大数据spark】
  3. 非常适合金融人的副业,不用坐班,时间自由!
  4. Github上的开源项目4
  5. react 使用 dropzone-ui
  6. 本土自动驾驶Tier 1们的“农村包围城市”:先从商用车切入,再向乘用车拓展...
  7. 智慧农业数字物联系统ECIOT V3.0助力农业大田大棚及农业产业园数字化升级
  8. 【虚幻引擎UE】UE4/UE5 功能性插件推荐及使用介绍 2
  9. Sublime Text3配置Python运行环境(实用)
  10. React 应用框架:DvaJS