当前位置:首页 > uni-app

uniapp 分享位置

2026-02-06 04:28:06uni-app

uniapp 分享位置实现方法

在 uniapp 中实现分享位置功能,通常需要调用微信小程序、H5 或 App 的原生 API。以下是不同平台的实现方式:

微信小程序平台

使用 wx.openLocation API 打开微信内置地图,并显示指定位置:

uniapp 分享位置

uni.openLocation({
  latitude: 39.90469, // 纬度
  longitude: 116.40717, // 经度
  name: '北京市', // 位置名称
  address: '北京市东城区', // 详细地址
  success: function () {
    console.log('打开位置成功');
  }
});

H5 平台

通过 window.open 调用第三方地图服务(如高德、百度地图):

uniapp 分享位置

// 高德地图
window.open(`https://uri.amap.com/marker?position=116.40717,39.90469&name=北京市`);

// 百度地图
window.open(`https://api.map.baidu.com/marker?location=39.90469,116.40717&title=北京市&output=html`);

App 平台

使用原生地图插件或调用系统地图:

// 使用 uni-app 官方地图插件
plus.maps.openSysMap({
  latitude: 39.90469,
  longitude: 116.40717,
  name: '北京市',
  address: '北京市东城区'
});

跨平台兼容方案

通过条件编译实现多平台兼容:

// #ifdef MP-WEIXIN
wx.openLocation({
  latitude: 39.90469,
  longitude: 116.40717,
  name: '北京市',
  address: '北京市东城区'
});
// #endif

// #ifdef H5
window.open(`https://uri.amap.com/marker?position=116.40717,39.90469&name=北京市`);
// #endif

// #ifdef APP-PLUS
plus.maps.openSysMap({
  latitude: 39.90469,
  longitude: 116.40717,
  name: '北京市',
  address: '北京市东城区'
});
// #endif

注意事项

  • 微信小程序需要先调用 wx.getLocation 获取用户授权
  • App 端可能需要配置原生地图插件
  • H5 端需要确保域名在白名单内
  • 各平台对坐标系的处理可能不同(如微信使用 GCJ-02)

标签: 位置uniapp
分享给朋友:

相关文章

uniapp教程

uniapp教程

uniapp 基础介绍 uniapp 是一个基于 Vue.js 的跨平台开发框架,支持一次开发,多端发布(如微信小程序、H5、App、快应用等)。其核心优势在于代码复用率高,学习成本低,适合快速构建多…

uniapp树形选择

uniapp树形选择

uniapp树形选择实现方法 使用uni-data-checkbox组件 uniapp内置的uni-data-checkbox组件支持树形结构选择,适用于多级分类场景。配置时需要将数据格式化为树形结构…

uniapp旋转横屏

uniapp旋转横屏

实现横屏模式的方法 在UniApp中实现横屏模式,可以通过配置页面方向或使用CSS旋转实现。以下是两种常见方法: 修改manifest.json配置 在项目的manifest.json文件中,找到"…

uniapp实现懒加载

uniapp实现懒加载

uniapp实现懒加载的方法 在uniapp中实现懒加载可以通过多种方式,以下是几种常见的方法: 使用uni.lazyLoad组件 uniapp提供了内置的懒加载组件,适用于图片等资源的懒加载。在页…

uniapp隐藏右侧滚动条

uniapp隐藏右侧滚动条

隐藏右侧滚动条的方法 在UniApp中隐藏右侧滚动条可以通过CSS样式实现,适用于H5、小程序等平台。以下是几种常见的方法: 全局样式设置 在App.vue的全局样式中添加以下CSS代码,适用于所有…

uniapp 用法

uniapp 用法

uniapp 基本概念 uniapp 是一个基于 Vue.js 的跨平台开发框架,支持编译到 iOS、Android、H5 及小程序等多端。其核心特点是“一次开发,多端发布”,通过条件编译实现平台差异…