🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
原因:定位不支持非HTTPS定位 解决方法一:把HTTP升为HTTPS 。 实在不行的话 看下面 解决方法二 原理是获取微信浏览器的定位,微信外的方法不支持 addons\\ewei\_shopv2\\plugin\\merch\\template\\mobile\\default\\list\\merchuser.html ~~~ wx.ready(function () { //console.log('testfff'); wx.getLocation({ type:'gcj02', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02' success:function (res) { varlatitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90 varlongitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。 ssws = gcj02tobd09(longitude,latitude); //解决定位偏移 varssssss1 = ssws\[1\] - 0.000160; varssssss2 = ssws\[0\] - 0.000160; longitude =ssssss2.toFixed(6); latitude\=ssssss1.toFixed(6); require(\['../addons/ewei\_shopv2/plugin/merch/static/js/list.js?v=2'\], function (modal) { modal.init({cateid:'{$\_GPC\['cateid'\]}',keyword:'{$\_GPC\['keyword'\]}',latitude:latitude,longitude:longitude}); }) }, fail:function (res) { //alert('获取位置失败'); } }); }); /\*\* \* 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换 \* 即谷歌、高德 转 百度 \* @param lng \* @param lat \* @returns {\*\[\]} \*/ functiongcj02tobd09(lng, lat) { varx\_PI = 3.14159265358979324 \* 3000.0 / 180.0; varPI = 3.1415926535897932384626; vara = 6378245.0; varee = 0.00669342162296594323; varz = Math.sqrt(lng \* lng + lat \* lat) + 0.00002 \* Math.sin(lat \* x\_PI); vartheta = Math.atan2(lat, lng) + 0.000003 \* Math.cos(lng \* x\_PI); varbd\_lng = z \* Math.cos(theta) + 0.0065; varbd\_lat = z \* Math.sin(theta) + 0.006; return \[bd\_lng, bd\_lat\] } ~~~