/**
* 获取我的位置
*/
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协议
效果图如下: