/*** 获取我的位置*/getNavigatorLocation: function () {navigator.geolocation.getCurrentPosition(function (success) {console.log('inner>>>', success);if (success && success.coords) {var data = success.coords;var point = "POINT(" + data.longitude + " " + data.latitude + ")";// var lonDFM = GlobalUtils.ChangeToDFM(data.longitude.toString());// var latDFM = GlobalUtils.ChangeToDFM(data.latitude.toString());// var lon = GlobalUtils.dufenmiao(lonDFM);// var lat = GlobalUtils.dufenmiao(latDFM);// $("#reportForm input[name='bindPointLonD']").val(lon[0]);// $("#reportForm input[name='bindPointLonF']").val(lon[1]);// $("#reportForm input[name='bindPointLonM']").val(lon[2]);// $("#reportForm input[name='bindPointLatD']").val(lat[0]);// $("#reportForm input[name='bindPointLatF']").val(lat[1]);// $("#reportForm input[name='bindPointLatM']").val(lat[2]);let _point = new ol.format.WKT().readGeometry(point).getCoordinates();let _text = GlobalUtils.tranSFormCoodinate(_point, true);console.log('天气的经纬度>>>', _text);// $("#reportForm input[name='geomText']").val(_text.text)// $("#reportForm input[name='point']").val(point)// report.inputLonLatObj = _text.inputObj// report.newPoint = point;} else {layui.layer.msg("获取手机位置失败,请检查gps权限是否拒绝了")}}, function (err) {layui.layer.msg("获取手机位置失败,请检查gps权限是否拒绝了")return null;})},
发现在谷歌浏览器中是不执行的,原因是在谷歌浏览器里navigator.geolocation的使用,只能使用https协议,普通的http协议是无法执行的。
解决方法:
换成ie 和火狐都可以正常使用的,或者使用https协议
效果图如下: