• uni.openLocation(OBJECT)

    uni.openLocation(OBJECT)

    使用应用内置地图查看位置。

    OBJECT 参数说明

    参数名类型必填说明平台差异说明
    latitudeFloat纬度,范围为-90~90,负数表示南纬,使用 gcj02 国测局坐标系
    longitudeFloat经度,范围为-180~180,负数表示西经,使用 gcj02 国测局坐标系
    scaleInt缩放比例,范围5~18,默认为18微信小程序
    nameString位置名
    addressString地址的详细说明
    successFunction接口调用成功的回调函数
    failFunction接口调用失败的回调函数
    completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

    示例

    1. uni.getLocation({
    2. type: 'gcj02', //返回可以用于uni.openLocation的经纬度
    3. success: function (res) {
    4. const latitude = res.latitude;
    5. const longitude = res.longitude;
    6. uni.openLocation({
    7. latitude: latitude,
    8. longitude: longitude,
    9. success: function () {
    10. console.log('success');
    11. }
    12. });
    13. }
    14. });

    Tips

    • 本API是一个非原子的封装界面,开发者如有定制需求,可自己做页面实现类似功能。
    • H5 端获取定位信息,需要部署在 https 服务上,本地预览(localhost)仍然可以使用 http 协议。
    • 无 GPS 模块的 PC 设备使用 Chrome 浏览器的时候,位置信息是连接谷歌服务器获取的,国内用户可能获取位置信息失败。
    • <map> 组件默认为国测局坐标,调用 uni.getLocation 返回结果传递给 <map> 组件时,需指定 type 为 gcj02。
    • App 端使用地图组件需要向高德或百度等三方服务商申请SDK资质,获取AppKey,打包时需要在manifest的SDK配置中填写Appkey。在manifest可视化界面有详细申请指南。
    • iOS端 如需使用第三方地图进行导航,需要在 manifest.json 文件内增加 urlschemewhitelist 节点,在线打包即可
    1. {
    2. "app-plus": {
    3. "distribute": {
    4. "ios": {
    5. "urlschemewhitelist": [
    6. "baidumap",
    7. "iosamap",
    8. "qqmap"
    9. ]
    10. }
    11. }
    12. }
    13. }
    • 点击返回也会进入 fail 回调中

    发现错误?想参与编辑?在 GitHub 上编辑此页面!