z***@163.com
z***@163.com
  • 发布:2020-03-12 11:53
  • 更新:2020-03-12 14:37
  • 阅读:7613

uniapp h5 端 小程序端 获取用户的当前的定位城市

分类:uni-app

uniapp 多端(除了App端)
需求:用户进入页面获取 用户的定位城市即可
代码:
ak已经配置
getCurrentCity() {
const BMap = window.BMap
console.log("BMap",BMap)
//1、通过百度地图定位,获取当前的城市名称
let myCity = new BMap.LocalCity()
myCity.get(async result => {
console.log("BMap.LocalCity()", result)
this.setLocationCity(result.name)
})
},
index.umd.min.js:1 [system] TypeError: Cannot read property 'LocalCity' of undefined
at VueComponent.getCurrentCity (index.vue:253)
at VueComponent.onLoad (index.vue:209)
at invokeWithErrorHandling (vue.runtime.esm.js:1865)
at VueComponent../node_modules/@dcloudio/vue-cli-plugin-uni/packages/h5-vue/dist/vue.runtime.esm.js.Vue.__call_hook (vue.runtime.esm.js:8615)
at r (index.umd.min.js:1)
at a (index.umd.min.js:1)
at VueComponent.created (index.umd.min.js:1)
at invokeWithErrorHandling (vue.runtime.esm.js:1865)
at callHook (vue.runtime.esm.js:4276)
at VueComponent.Vue._init (vue.runtime.esm.js:5065)

2020-03-12 11:53 负责人:无 分享
已邀请:
小猪姵琪

小猪姵琪 - 这是我的弟弟,乔痔

1、小程序端调用定位接口 uni.getLocation 获得当前经纬度,用经纬度请求腾讯地图逆编码接口
http://apis.map.qq.com/ws/geocoder/v1/?location='+latitude +','+ longitude+'&key=MVGBZ-R2U3U-W5CVY-2PQID-AT4VZ-PDF35
可以获得当前城市名称以及地区编码。
2、H5如果是嵌在微信内部的页面可以调用微信api定位接口,也能获取到经纬度,然后请求这个接口就可以了。
(这个接口让后台去调用,前端给后端传经纬度就可以了,因为是http,小程序上线后会调不通)

  • 疾风kkk

    这个不行啊,腾讯不允许http://apis.map.qq.com/ws/geocoder/v1/这个api直接前端使用,要后台才行啊,没有后台的怎么办?

    2021-06-29 19:47

该问题目前已经被锁定, 无法添加新回复