当前位置: 首页 > news >正文

Taro地图组件和小程序定位

在 Taro 中使用腾讯地图

1.首先在项目配置文件 project.config.json 中添加权限:

{"permission": {"scope.userLocation": {"desc": "你的位置信息将用于小程序位置接口的效果展示"}}
}

2.在 app.config.ts 中配置:

export default {// ...其他配置requiredPrivateInfos: ["getLocation","chooseLocation"],permission: {"scope.userLocation": {"desc": "你的位置信息将用于小程序位置接口的效果展示"}}
}

3.使用例子

import Taro from '@tarojs/taro'// 基础使用示例
const MapExample: React.FC = () => {// 获取当前位置const getLocation = async () => {try {const res = await Taro.getLocation({type: 'gcj02' //返回可以用于wx.openLocation的经纬度})console.log('当前位置:', res.latitude, res.longitude);return res;} catch (err) {console.error('获取位置失败:', err);}}// 打开地图选择位置const chooseLocation = async () => {try {const res = await Taro.chooseLocation({latitude: 39.9,  // 默认纬度longitude: 116.4 // 默认经度})console.log('选择的位置:', res);} catch (err) {console.error('选择位置失败:', err);}}return (<View><Mapid="map"longitude={116.4}latitude={39.9}scale={16}markers={[{id: 1,latitude: 39.9,longitude: 116.4,name: '位置'}]}onTap={() => {console.log('map tap')}}style={{ width: '100%', height: '300px' }}/><Button onClick={getLocation}>获取当前位置</Button><Button onClick={chooseLocation}>选择位置</Button></View>)
}

4.常用的地图属性

<Mapid="map"longitude={116.4}latitude={39.9}scale={16}markers={markers}polyline={polyline} // 路线circles={circles}   // 圆形showLocation       // 显示当前位置enableZoom        // 允许缩放enableScroll      // 允许拖动enableRotate      // 允许旋转style={{ width: '100%', height: '300px' }}onTap={handleMapTap}onMarkerTap={handleMarkerTap}onRegionChange={handleRegionChange}
/>

marks示例

[{id: 1,latitude: 28.236142,longitude: 112.983482,iconPath: require('.././../assets/location.png'), // 标记点图标width: 30,height: 30,callout: {content: '开福区总店',color: '#000',fontSize: 12,borderRadius: 5,bgColor: '#fff',padding: 5,display: 'ALWAYS',borderWidth: 1, // 模拟边框宽度borderColor: '#000', // 模拟边框颜色},label: {content: '标记点1',color: '#000',fontSize: 12,anchorX: 0,anchorY: -40 // 调整垂直偏移,使其看起来像在标记点上方}}}]

小程序定位相关api

//获取当前位置
const res = await Taro.getLocation({type: 'gcj02' //返回可以用于wx.openLocation的经纬度})
//去选择位置const res = await Taro.chooseLocation({latitude: 28.236142,  // 默认纬度longitude: 112.983482 // 默认经度})//定位去某个位置Taro.openLocation({latitude,longitude,name, // 位置名称address, // 位置地址scale: 18 // 地图缩放级别});
http://www.lryc.cn/news/517003.html

相关文章:

  • 深入了解 SSL/TLS 协议及其工作原理
  • 【计算机操作系统:二、操作系统的结构和硬件支持】
  • 51单片机——步进电机模块
  • 当算法遇到线性代数(四):奇异值分解(SVD)
  • SASS 简化代码开发的基本方法
  • 40.TryParse尝试转化为int类型 C#例子
  • 【微服务】2、网关
  • 红队-shell编程篇(上)
  • 电子价签会是零售界的下一个主流?【新立电子】
  • 5 分布式ID
  • SpringBoot | @Autowired 和 @Resource 的区别及原理分析
  • 『SQLite』解释执行(Explain)
  • 0基础学前端-----CSS DAY12
  • (概率论)无偏估计
  • Minio-Linux-安装
  • 利用Java爬取1688商品详情API接口:技术与应用指南
  • 基于MATLAB的汽车热管理模型构建
  • LRU(1)
  • VSCode 使用鼠标滚轮控制字体
  • 数据库(3)--针对列的CRUD操作
  • 【Linux】记录一下考RHCE的学习过程(七)
  • 【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 1:背景动机
  • 使用hardhat进行合约测试
  • 基于生成式对抗网络(GAN)的前沿研究与应用
  • Apache zookeeper集群搭建
  • cmake使用记录
  • nginx http反向代理
  • 实数的奥秘:柯西序列深度解析
  • 信息系统管理师试题-人力资源
  • 补偿电阻对ota零极点的影响