使用高德定位API :

  1. AMap.Map('iCenter')
  2. AMap.CitySearch()

先在高德开放平台注册申请定位权限的key。 网站;高德开放平台

在需要定位的页面引入有定位key的script

<!doctype html>
<html>
<head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width"><title>基本引入展示</title><script src="https://webapi.amap.com/maps?v=1.4.8&key=您申请的key值"></script></head>
<body>
<div id="container"></div></body>
</html>

使用高德定位API

需求:苹果设备使用IP定位,其他使用gps定位

function getlocation() {var u = navigator.userAgent;var ua = navigator.userAgent.toLowerCase();var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端//GPS定位function locationForGPS() {/*********跟踪标记**********/   console.log('GPS定位开始+++');var map, geolocation;//加载地图,调用浏览器定位服务map = new AMap.Map('iCenter');map.plugin('AMap.Geolocation', function() {geolocation = new AMap.Geolocation({enableHighAccuracy: false,//是否使用高精度定位,默认:truetimeout: 10000,          //超过10秒后停止定位,默认:无穷大});map.addControl(geolocation);geolocation.getCurrentPosition();//getCityInfo是高德GPS定位里面的一个方法,先返回ip定位数据,由于IP定位有可能不准确,所以后面用GPS数据修正//geolocation.getCityInfo(function(status,result){/*********跟踪标记**********/    console.log('与GPS同步IP定位开始,进行数据写入+++');if (status === 'complete' && result.info === 'SUCCESS') {/*********跟踪标记**********/    console.log('同步IP定位成功,进行数据写入+++');if(isNull(sessionStorage.getItem('autouserchooselocationct'))){/*********跟踪标记**********/     console.log('未检测检查有上一次定位数据,进行数据写入+++');let cityAdcode=result.adcode;let cityName=result.city;sessionStorage.setItem('autouserchooselocationct', cityName);sessionStorage.setItem('autouserchooselocationcode', cityAdcode);/*********跟踪标记**********/    console.log('同步IP定位结束,进行数据写入完成+++');}}});AMap.event.addListener(geolocation, 'complete', onComplete);//返回定位信息AMap.event.addListener(geolocation, 'error', onError);      //返回定位出错信息});//GPS定位成功function onComplete(data) {console.log(data)/*********跟踪标记**********/  console.log('GPS定位启动+++');//gsp定位精确到区,返回的adcode精确到了城市下属的区域,//想要获取城市的abcode还需要使用高德的另一个API,城市区域查询let cityName=data.addressComponent.city;let geocoder = new AMap.Geocoder({});//地理编码,返回地理编码结果,geocoder.getLocation(cityName, function(status, result) {if (status === 'complete' && result.info === 'OK') {/*********跟踪标记**********/       console.log('GPS定位成功,处理定位数据+++');/*********跟踪标记**********/     console.log('进行数据写入,覆盖同步IP的数据+++');let cityAdcode=result.geocodes[0].adcode;sessionStorage.setItem('autouserchooselocationct', cityName);sessionStorage.setItem('autouserchooselocationcode', cityAdcode);/*********跟踪标记**********/    console.log('GPS定位结束,进行数据写入完成+++');}});}//GPS定位失败function onError() {/*********跟踪标记**********/ console.log('GPS定位失败开始启用ip定位+++');locationForIp(true);/*********跟踪标记**********/  console.log('gps-ip++...')}}//IP定位function locationForIp(tap) {/*********跟踪标记**********/if(tap){ console.log('GPS定位失败开始启用ip定位+++');}/*********跟踪标记**********/ console.log('ip定位开始+++');var citysearch = new AMap.CitySearch();//自动获取用户IP,返回当前城市citysearch.getLocalCity(function (status, result) {if (status === 'complete' && result.info === 'OK') {if (result && result.city && result.bounds) {let GetUserLocation = result.city,GetUserLocationcode = result.adcode;/*********跟踪标记**********/console.log('ip定位成功,开始检查是否有上一次定位数据+++');if(isNull(sessionStorage.getItem('autouserchooselocationct'))){/*********跟踪标记**********/console.log('ip定位成功,未检测检查有上一次定位数据,进行数据写入+++');sessionStorage.setItem('autouserchooselocationct', GetUserLocation);sessionStorage.setItem('autouserchooselocationcode', GetUserLocationcode);/*********跟踪标记**********/console.log('ip定位成功,进行数据写入结束+++');}}} else {/*********跟踪标记**********/console.log('ip定位失败,进行数据写入结束+++');}})}if(isiOS){/*********跟踪标记**********/console.log('ios设备启用IP定位');locationForIp(false);}else {/*********跟踪标记**********/console.log('非ios设备启用GPS定位');locationForGPS()}}};

移动端城市定位,城市区域代码adcode相关推荐

  1. vue移动端获取定位_vue手机移动端城市定位和选择代码

    特效详情: vue手机移动端城市定位和选择代码,默认获取我的当前所在城市定位,可自定义更换选择城市,带城市列表首字母导航功能.请在手机端查看演示,电脑端无法选择. js代码 var app = new ...

  2. [RN] 全国城市列表选择 (包含定位城市、热门城市、全国城市)

    全国城市列表选择 (包含定位城市.热门城市.全国城市) 用ScrollView 实现,解决 SectionList 实现的卡顿问题 实现效果如图: 代码实现如图: 主逻辑文件 cityList.js ...

  3. Android 高德地图对于城市定位做地理编码+逆地理编码处理

    之前有需求需要对城市定位做处理 这里简单的写了一个方法,可以直观的把地址转换为坐标,并且实现城市的定位,方法里面直接传入城市名 --------- 直接上码 //切换城市private void ge ...

  4. 高德地图使用——定位城市

    前言:在使用Chrome进行开发时,发现该功能无法实现,即使高德地图官网也无法实现打开网页时定位当前城市,而是定位至北京.因为,高德实现定位城市是通过浏览器本身发起定位,但是Chrome在中国无法使用 ...

  5. Vue实现城市定位(利用百度地图)

    在网上观看了大多数实现城市定位的方法,发现大部分都不能实现或者不够详细 以下是整理出实现的方法 1.申请你自己的密钥 百度地图开放平台 | 百度地图API SDK | 地图开发 登录成功后到控制台 这 ...

  6. [android] 百度地图开发 (二).定位城市位置和城市POI搜索

    一. 百度地图城市定位和POI搜索知识       上一篇文章"百度地图开发(一)"中讲述了如何申请百度APIKey及解决显示空白网格的问题.该篇文章主要讲述如何定位城市位置.定位 ...

  7. 微信实现定位城市并获取城市编码

    最近在做一个项目是将用户的当前所在市县定位出来并展示在手机端页面,同时还要获取到该市县的城市编码从而进行数据过滤,这里重点讲定位城市及获取城市编码 前端页面代码: 首先引用腾讯地图的一个js < ...

  8. Android 通过外网IP定位城市

    Android 通过外网IP定位城市 获取外网IP /*** 通过CmyIP获取获取外网外网地址 需在异步线程中访问* @return 外网IP*/ public static String getO ...

  9. uniapp、hbuilderx做微信小程序,获取当前城市定位(省份国家街道等)

    获取用户当前位置分为3步 1.获取位置用户请求权限 2.获取经纬度 3.经纬度转换为城市 一.获取位置用户请求权限 获取权限的目的主要是因为避免转换不了城市的报错(可能出现不提示"需要先请求 ...

最新文章

  1. 找出现有Vector或ArrayList或数组中重复的元素给现有Vector或ArrayList或数组去重
  2. Redis进阶-List底层数据结构精讲
  3. 火狐linux版更改语言,Selenium更改firefox浏览器语言python m
  4. Java中常见的代码冲突
  5. js表单提交 php,JavaScript提交表单的几种方法
  6. Highlight(高亮)Gridview控件列
  7. POJ 3734 Blocks (线性递推)
  8. Java一键多值Map 之Guava Multimap 用法简介
  9. HTML: 和 是何方神圣
  10. 学习NA,Dynamips实验环境(工大瑞普)下载地址
  11. Spring Boot 接入支付宝完整流程实战,看完后秒懂!
  12. Web渗透测试工程师:入门知识
  13. 网易云易盾发布多国家多语种内容安全服务,助力中国互联网出海
  14. android 双击点亮屏幕,手机双击点亮屏幕是怎么实现的
  15. 一个免费获得5年虚拟主机的方法
  16. 稀疏数组(二维数组)
  17. 苏州协鑫发力创新 抢占新能源产业制高点
  18. 微弱信号检测中四种降噪滤波方法的matlab实现
  19. 最小体积包围盒MVB-begtostudy Beta版欢迎公测
  20. Android 禁止安装没有授权的第三方应用

热门文章

  1. android 自定义滑块,Android自定义View实现滑块SeekBar
  2. open CreateFile 函数
  3. python进阶练习题:格式化像“巴特,莉萨和玛吉”名称的字符串。【难度:2级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶
  4. Prompt Learning 简介
  5. GYM 101350 G. Snake Rana ( 容斥
  6. Citrix DDC1912LTSRCU2安装
  7. 文字拼音本地识别maven库pinyin4j
  8. 【总结整理】产品经理面试常见问题
  9. 网站注册获取短信验证码步骤
  10. IDEA中快捷键大全