H5 定位爬坑过程记录

现在 H5 有原生的可以定位的 api,但是这些 api 只能获取到当前的经纬度或者 ip 信息,而我们一般需要的是解析过后的具体地名信息,对定位信息进行解析就需要依托地图服务,现在一般用的就是高德和百度的地图服务。

要使用他们的地图服务也简单,只需要先去他们平台上申请一个 key,然后在 html 中引入 script 就可以使用了。

在做定位功能的时候有几点需要注意:

  1. 站点要是 HTTPS 的,本地调试的时候可以是 localhost,但是用 ip 或域名访问的时候一定要是 HTTPS 的,不然是获取不到定位的
  2. 不要在 Chrome 测试精确定位,这是 Chrome 的一个 bug,在 Chrome 中使用精确定位的相关功能是没有效果的
  3. 因为 Chrome 精确定位的 bug,所以在 Android 的 webView 中也是不能进行精确定位的,所以当没有精确定位的需求时,直接使用地图服务的城市查询服务,不要尝试精确定位

下面提供一个简单的获取当前城市名称的代码,如果需要其它更多示例请移步各家地图官网

	<script type="text/javascript" src='//webapi.amap.com/maps?v=1.4.15&key=9721dba07cd10df7137a1167f290edf3'></script>
    <script src="//webapi.amap.com/ui/1.0/main.js?v=1.0.11"></script>

	AMap.plugin('AMap.CitySearch', function () {
          let citySearch = new AMap.CitySearch();
          //自动获取用户IP,返回当前城市
          citySearch.getLocalCity(function(status, result) {
            if (status === 'complete' && result.info === 'OK') {
              if (result && result.city && result.bounds) {
                self.province = result.city
                self.lat = result.bounds.lc.lat
                self.lng = result.bounds.lc.lng
              }
            }
          });
        })
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值