定位
定位行为包含:
- 获取位置
- 选择位置
- 打开位置
- 获取行政区域名称
1.获取位置
作用
获取位置行为本质上是获取到当前所在的位置的经纬度,并将经纬度赋值给页面数据,一般与【地图组件】结合使用,将获取到的位置显示在地图组件上。在地图、打车、外卖等小程序中较为常见,主要解决用户找到自己位置的需求。
行为配置
添加页面数据
由于获取到的经纬度只能暂存于页面数据,所以配置的第一步是在需要获取位置的页面添加一个类型为“经纬度”的页面数据,一般命名为:geographic_position
因为获取位置行为常与定位相关行为结合使用,页面中会有多个页面数据,所以建议重新命名区分每个页面数据的用处
添加行为
为需要获取位置的组件添加 定位 - 获取位置 行为,在行为中将获取到的经纬度赋值给刚才创建的页面数据即可。 获取位置成功后,返回的经纬度是个对象[Object Object],不会直接显示经纬度,但可以通过【获取行政区域名称】行为将经纬度进行解析显示,或者通过地图组件定位显示
行为选择 | 赋值页面数据 |
---|---|
位置数据的使用
- 展示获取的位置
如果在获取位置之后想在地图组件中显示位置,可以在页面中添加地图组件,而后为地图组件绑定刚才获取到的经纬度即可
- 未获取位置前,地图组件默认定位天安门,当获取位置成功后,地图组件会自动定位到当前位置
- 地图组件可在组件内手动进行放大缩小移动
img | img |
---|---|
解析获取的位置
如果想要将获取到的位置解析成具体的地址信息,可以结合【获取行政区域名称】来实现
特殊说明
在用户使用小程序过程中,点击获取位置按钮后,会先弹出用户授权窗口,需用户授权同意获取当前位置,授权后则不会再次弹出,当用户拒绝授权时,无法获取当前位置,但用户若拒绝授权后再次点击获取位置按钮,会指引用户开启授权
2.选择位置
作用
选择位置行为是指在地图上选择地理位置,通过选择位置行为后会自动唤起腾讯地图,而后可以选择位置,确定位置之后会拿到这个位置的经纬度、地址以及名称
行为配置
添加页面数据
由于选择位置会获取到这个位置的经纬度、地址以及名称,而这些数据只能暂存于页面数据,所以配置第一步是在需要选择位置的页面添加一个类型为“经纬度”的页面数据用来保存经纬度,添加两个“文本”类型的页面数据用来保存地址以及名称
新建页面数据 | 命名和选择类型 |
---|---|
添加行为
为需要选择位置的组件添加 定位 - 选择位置 行为,在行为中将获取到的经纬度、地址以及名称赋值给刚才创建的页面数据即可
img | img |
---|---|
位置数据的使用
获取到的经纬度、地址、名称如下图所示,经纬度是一个对象,需要借助地图组件才可以显示出来,地址包含了省市区以及街道位置如:浙江省杭州市萧山区永辉路233号,名称就是具体的位置名称如:杭州湾智慧谷
img | img | img |
---|---|---|
展示选择的位置
在按钮上配置选择位置行为,并将选择位置的地址赋值给页面数据location,,在文字组件绑定页面数据location 触发选择位置行为时,弹出的腾讯地图会默认显示用户的当前位置信息,若需选择其他位置信息,滑动腾讯地图或者输入即可,完成选择之后,文字组件就会显示的位置地址内容
img | img |
---|---|
特殊说明
该行为只有在小程序端可以配置
3.打开位置
作用
点击触发该行为之后,会自动弹出腾讯地图显示行为中绑定的经纬度所对应的位置,你可以利用腾讯地图完成导航等功能
案例
导航到选择的位置
在选择位置的成功行为中配置打开位置行为,配置对应页面数据,当点击打开位置按钮时即可弹出腾讯地图,点击地图中的导航按钮即可
img | img |
---|---|
行为配置
在组件的交互中添加 定位 - 打开位置 行为,在行为中绑定通过远程数据请求过来的经纬度或者是通过【获取位置】、【选择位置】获取到的经纬度,在地址、名称中输入或者绑定地址、名称信息即可
行为选择 | 配置经纬度 |
---|---|
特殊说明
- 该行为只有在小程序端可以配置
- 地址和名称会影响小程序打开的地图的名称显示,若不填则直接不显示(不会报错),用其他导航软件打开时,会显示为微信位置起点和微信位置终点
4.获取行政区域名称
作用
将获取到的经纬度解析为详细的位置信息,其中包括有country(国家)、province(省份)、city(城市)、district(区/县)和township(街道/乡镇)。一般在选择位置或获取位置的基础上,来实现获取行政区域的行为。
行为配置
添加页面数据
由于获取到的行政区域名称只能暂存于页面数据,所以配置的第一步是在需要获取行政区域名称的页面添加一个类型为“位置信息”的页面数据,建议命名为:location_info
选择/获取位置,添加行为
一般在选择/获取位置的成功时配置【获取行政区域名称】行为,将选择/获取位置获取到的经纬度绑定到【获取行政区域名称】的行为中,将获取到的行政区域名称赋值给到上一步创建的页面数据即可
选择行为 | 赋值页面数据 | 成功时配置 |
---|---|---|
行政区域名称的数据使用
- 显示/使用行政区域名称
在页面中拖入文字组件,你可以按照需求在文字组件中绑定找到 页面内数据 - 页面数据 - location_info 中的单个数据或者多个,其中包括有country(国家)、province(省份)、city(城市)、district(区/县)和township(街道/乡镇) 你也可以将获取到的行政区域名称绑定到文字输入框中,作为快递、外卖的配送地址保存到地址信息中~
img | img |
---|---|
- 显示情况
img | img |
---|---|
特殊说明
该行为只有在小程序端可以配置