javascript - h5地理位置定位getCurrentPosition,允許定位后,不走成功后的函數(shù),高手指教!
問(wèn)題描述
// 出發(fā)城市l(wèi)et $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(’您現(xiàn)在的城市是:’ + $cityname);$doc.getElementById(’mobile’).value = $cityname; } catch (e) {$config.initCity(); }}); }};$config.getPoint();
問(wèn)題解答
回答1:這跟你測(cè)試所用的瀏覽器有關(guān)系,去年項(xiàng)目需要研究過(guò)一段時(shí)間,并沒(méi)有滿意的結(jié)果,就我個(gè)人理解,部分瀏覽器使用的谷歌的定位服務(wù),而谷歌服務(wù)在中國(guó)被墻了,所以要么定位非常非常慢,也非常非常不準(zhǔn),要么直接無(wú)法定位。。。你換些瀏覽器試試就知道區(qū)別了。。。推薦引用高德等第三方 JS 定位服務(wù),經(jīng)過(guò)特殊處理的,相對(duì)會(huì)好很多。
