海滨擎蟹

web 前端 - 通过 Geolocation 获取经纬度

浏览器定位

不好用,精度不够

        if (navigator.geolocation) {
            //一次性获取位置的请求
            navigator.geolocation.getCurrentPosition(showMap);
        } else {
            alert('您的浏览器不支持地理位置 O(∩_∩)O~');
        }
        var pos = {};
        pos.located = 0;
        var showMap = function(position) {
        //经纬度所在的位置对象
        //            var pos = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
        //根据pos对象中的经纬度显示Google地图了哈!
        //...
        pos.lat = position.coords.latitude;
        pos.lng = position.coords.longitude;
        pos.located = 1;

百度地图定位

定位较准,各版本api效果不同

1.4 以下在非 https 服务器上直接挂了(本地 localhost 可以运行),2.0 可以在非 Chrome 浏览器上取得较准确的定位结果(Chrome 下取得的是城市中心的定位)

        var geolocation = new BMap.Geolocation();
        geolocation.getCurrentPosition(function (r) {
            if (this.getStatus() == BMAP_STATUS_SUCCESS) {
                var mk = new BMap.Marker(r.point);
                alert('您的位置:' + r.point.lng + ',' + r.point.lat);
                console.log(r.point);
            } else {
                alert('failed' + this.getStatus());
            }
        })

精准 ip 定位

客户端暂未使用过

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »