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 定位服務,經過特殊處理的,相對會好很多。
