javascript - h5地理位置定位getCurrentPosition,允许定位后,不走成功后的函数,高手指教!
问题描述
// 出发城市let $cityname;let $config = { getPoint: function() {if (navigator.geolocation) { navigator.geolocation.getCurrentPosition($config.showPosition, $config.handleLocationError, {enableHighAccuracy: true,timeout: 1000,maximumAge: 0 });} }, initCity: function() {// api.setLocalStorage(’uzmdepartureCityName’, ’北京’);$cityname = ’北京’;alert(’失败’); }, handleLocationError: function(error) {$config.initCity(); }, showPosition: function(position) {let latitude = position.coords.latitude, longitude = position.coords.longitude;console.log(latitude, longitude);let point = new window.BMap.Point(longitude, latitude), gc = new window.BMap.Geocoder;gc.getLocation(point, function(rs) { try {let locationCity = rs.addressComponents.province;$cityname = locationCity;// alert(’您现在的城市是:’ + $cityname);$doc.getElementById(’mobile’).value = $cityname; } catch (e) {$config.initCity(); }}); }};$config.getPoint();
问题解答
回答1:这跟你测试所用的浏览器有关系,去年项目需要研究过一段时间,并没有满意的结果,就我个人理解,部分浏览器使用的谷歌的定位服务,而谷歌服务在中国被墙了,所以要么定位非常非常慢,也非常非常不准,要么直接无法定位。。。你换些浏览器试试就知道区别了。。。推荐引用高德等第三方 JS 定位服务,经过特殊处理的,相对会好很多。