javascript - h5 geografische Standortpositionierung getCurrentPosition, nachdem die Positionierung zulässig ist, wird die Funktion nach Erfolg nicht mehr verwendet, Experten können Ratschläge geben!
淡淡烟草味
淡淡烟草味 2017-06-05 11:12:51
0
1
570
// 出发城市
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();

淡淡烟草味
淡淡烟草味

Antworte allen(1)
伊谢尔伦

这跟你测试所用的浏览器有关系,去年项目需要研究过一段时间,并没有满意的结果,就我个人理解,部分浏览器使用的谷歌的定位服务,而谷歌服务在中国被墙了,所以要么定位非常非常慢,也非常非常不准,要么直接无法定位。。。你换些浏览器试试就知道区别了。。。推荐引用高德等第三方 JS 定位服务,经过特殊处理的,相对会好很多。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage