您试试这个方式呢?看能否满足您的需求
- var page = Forguncy.Page;
- if (navigator.geolocation) {
- navigator.geolocation.getCurrentPosition(successCallback, errorCallback);
- } else {
- alert("你的浏览器不支持地理定位")
- }
- function successCallback(position) {
- latitude = position.coords.latitude;
- longitude = position.coords.longitude;
- var accuracy = position.coords.accuracy;
- alert("纬度:" + latitude + ",经度:" + longitude + ",位置精度:" + accuracy)
- var province = page.getCell("province");
- var city = page.getCell("city");
- var district = page.getCell("district");
- var street = page.getCell("street");
- var streetNumber = page.getCell("streetNumber");
- fetch("https://api.map.baidu.com/reverse_geocoding/v3/?ak=*****&output=json&coordtype=wgs84ll&location=" + latitude + "," + longitude, {
- method: 'GET',
- }).then((response) => {
- var data = response.json();
- province.setValue(data.result.addressComponent.province);
- city.setValue(data.result.addressComponent.city);
- district.setValue(data.result.addressComponent.district);
- street.setValue(data.result.addressComponent.street);
- streetNumber.setValue(data.result.addressComponent.streetNumber);
- })
- }
- function errorCallback(error) {
- switch (error.code) {
- case error.PERMISSION_DENIED:
- alert("定位失败,用户拒绝请求地理定位");
- break;
- case error.POSITION_UNAVAILABLE:
- alert("定位失败,位置信息是不可用");
- break;
- case error.TIMEOUT:
- alert("定位失败,请求获取用户位置超时");
- break;
- case error.UNKNOWN_ERROR:
- alert("定位失败,定位系统失效");
- break;
- }
- }
复制代码
|