H5+百度定位,H5获取经纬度转成百度,百度进行解析获取实际地址

概述

页面比较简单,由于浏览器端百度定位保护用户隐私性定位距离存在2公里左右误差。这里用的是通过H5定位(要加HTTPS)获取GPS经纬度,通过百度地址api把GPS经纬度转换成百度经纬度。在通过百度经纬度获取实际地址信息。测试结果,县级以上定位距离在100米左右。

详细

页面比较简单,由于浏览器端百度定位保护用户隐私性定位距离存在2公里左右误差。这里用的是通过H5定位(要加HTTPS)获取GPS经纬度,通过百度地址api把GPS经纬度转换成百度经纬度。在通过百度经纬度获取实际地址信息。测试结果,县级以上定位距离在100米左右。经测试乡镇获取不到实际信息,解决方法实际经纬度已经获取,通过百度服务api进行转换应该是可以的。

数据是存在数据库,导入一下文件就可以了。后端用的是thinkphp,分离的,不用php也不存在影响。自己拆分一下吧。

展示图:

未标题-1.jpg

目录:

WX20210407-104940@2x.png

部分代码结构+css+html+js:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>位置结果</title>
    <meta name="robots" content="noindex, nofollow">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <!-- 将百度地图API引入,设置好自己的key -->
</head>
{include file="layout/head" /}
<body>
<div class="main-div" style="padding: 20px">
    <div class="H5-position">
        <div class="H5">
            <span>H5定位经度:</span>
            <span class="H5lng"></span>
        </div>
        <div class="H5">
            <span>H5定位纬度:</span>
            <span class="H5lat"></span>
        </div>
        <div class="H5-pos">
            <div>地址:<span class="H5-addre"></span></div>
            <div class="H5-pp">
 
            </div>
        </div>
    </div>
    <div class="bai-position" style="margin-top: 30px">
        <div class="H5">
            <span>百度定位经度:</span>
            <span class="Bailng"></span>
        </div>
        <div class="H5">
            <span>百度定位纬度:</span>
            <span class="Bailat"></span>
        </div>
        <div class="H5-pos">
            <div>地址:<span class="Bai-addre"></span></div>
            <div class="Bai-pp">
 
            </div>
        </div>
    </div>
</div>
</body>
{include file="layout/footer" /}
<script type="text/javascript">
 
    $.ajax({
        type: 'GET',
        url: "{:url('index/index/getPosition')}",
        dataType: 'json',
        success: function (data) {
            console.log(data)
            $(".H5lng").html(data.data[0].H5lng)
            $(".H5lat").html(data.data[0].H5lat)
            if (data.data[0].H5) {
                let H5 = JSON.parse(data.data[0].H5);
                let H5data = H5.surroundingPois;
                $(".H5-addre").html(H5.address)
                console.log(H5)
                let html = ''
                for (let i = 0; i < H5data.length; i++) {
                    html += `<div>${H5data[i].address}(经:${H5data[i].point.lng} 纬: ${H5data[i].point.lat})</div>`
                }
                $(".H5-pp").html(html);
            }
 
            $(".Bailng").html(data.data[0].Bailng)
            $(".Bailat").html(data.data[0].Bailat)
 
            if (data.data[0].baidu) {
                let baidu = JSON.parse(data.data[0].baidu);
                let Baidudata = baidu.surroundingPois;
                $(".Bai-addre").html(baidu.address)
                let html = ''
                for (let i = 0; i < Baidudata.length; i++) {
                    html += `<div>${Baidudata[i].address}(经:${Baidudata[i].point.lng} 纬: ${Baidudata[i].point.lat})</div>`
                }
                $(".Bai-pp").html(html);
            }
        }
    })
</script>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西安未央

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值