微信小程序定位总结

在将Web项目嵌入微信小程序web-view时遇到定位问题,尝试微信JSSDK和小程序自身getLocation方法效果不佳。最终解决方案是利用浏览器的定位功能,但iOS需基于HTTPS并解决HTTP地图在HTTPS网站中显示和定位的冲突。
摘要由CSDN通过智能技术生成

1. 背景

工作需要, 一个web的项目嵌入到微信小程序web-view里面使用, 其中用到了微信的定位接口 wx.getLocation.

2. 遇到的问题

a. 使用微信的JSSDK中的getLocation方法

存在定位不准, 某些android手机上定位异常的问题, 所以废弃了.

b. 使用微信小程序自身的getLocation方法

仍然存在定位不准, 定位慢的问题...后来发现, 在web-view所在的小程序页面中, 隐藏一个微信自己的map控件, 定位速度大大提高, 并且准确性也比较高(WTF???)

但是, 后来遇到这个问题, 导致彻底放弃用微信的定位了(太TMD坑了...):

安卓wx.getLocation用数据流量经常获取不到位置

c. 直接使用浏览器的定位

最终的做法, 竟然是直接使用浏览器自身的定位完成的

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
	<meta name="viewport" content="width=device-width, initial-scale=1" />
	<meta
uniapp是一款跨平台的开发框架,支持同时开发微信小程序、App、H5等多个平台的应用程序。在uniapp中开发微信小程序定位功能非常简单,可以通过调用uniapp提供的API实现。 首先,在uniapp的项目中,我们可以使用uni.getLocation方法来获取用户的位置信息。这个方法会弹出微信小程序的位置授权提示框,用户可以选择是否授权获取位置信息。我们可以在页面的生命周期钩子函数中调用这个方法,例如在mounted钩子函数中。 在调用uni.getLocation方法之前,我们需要先引入uniapp提供的API,可以通过在页面的script标签中添加import语句来实现。引入之后,就可以在页面的方法中调用uni.getLocation方法了。 调用uni.getLocation方法后,会返回一个Promise对象,我们可以通过.then方法来处理获取位置信息成功的情况,并进行相应的处理操作,例如展示地理位置的信息。如果获取位置信息失败,可以使用.catch方法来处理。 通过以上的步骤,我们就可以在uniapp微信小程序中实现定位功能的demo了。当然,在实际开发中,我们还可以通过uni.showLoading等方法来优化用户体验,例如在获取位置信息期间显示一个加载动画。 总结一下,uniapp微信小程序定位demo的实现步骤如下:引入uniapp提供的API,调用uni.getLocation方法获取位置信息,处理获取位置信息成功或失败的情况,并进行相应的操作。希望以上的回答对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值