提到wx.getLocation()这个方法,大家都知道是获取地理信息的
今天用这个方法获取定位经纬度后传给后台取得附近markers标记集合,
在开发工具上都正常有标记出现 ,但是在手机测试时,死活没有显示 ,
最后发现是在手机测试时,后台已经报参数不合法抛出错误通知了
原因是因为,在开发工具上获取经纬度只有小数点后5位,而我们传给后台接口的数据规定只有后6位,
这在开发工具上是正常可以请求成功,但是在手机上测试时,定位更加精确,例如"longitude":"121.53446197509766",已经达到14位了
所以这里有必要对数据进行加工处理,使用toFixed()方法截取数字的后6位
// var currentLatitude = res.latitude; //纬度 // var currentLongitude = res.longitude; //经度 var currentLatitude = (res.latitude).toFixed(6); //纬度 var currentLongitude = (res.longitude).toFixed(6); //经度
错误如图: