【前端-自如/链家/安居客-地图找房】地图api如何获取浏览器视野范围内的经纬度区间?

发布于 2022-09-06 19:53:31 字数 230 浏览 20 评论 0

高德地图或者百度地图,有api能获取浏览器视野范围内的经纬度区间?

我看到链家、安居客和自如等网站的地图找房功能,请求数据时会有min_lng,max_lng,min_lat,max_lat等经纬度区间数据。

他们后端搜索房源时,应该是用这个经纬度区间来匹配房源数据,进行返回。

我网上搜索过地图api,可是没发现有获取经纬度范围的api。

我想知道他们是怎么获取的呢?恳请大神支援呀~

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

傲娇萝莉攻 2022-09-13 19:53:31
在群里请教了大能,解决啦~用map.getBounds()即可!下面是代码~
    const map = new AMap.Map('mapContainer', {
        resizeEnable: true,
        center: [init_longitude, init_latitude],
        zoom: 10
    });
    /* 大家console下面的getBounds,会有惊喜~
    ** 我这里是用的高德,百度也有getBounds!
    ** */
    console.log(map.getBounds(), '=====')
    
    /* 敲一下下面的代码就明白了~
    ** 点标记:中心点-天安门 */
    const marker = new AMap.Marker({
        position: ['116.397428','39.90923'],
        title: '中心点-天安门',
        animation: 'AMAP_ANIMATION_DROP'
        });
    marker.setMap(map);
    const bounds = map.getBounds()
    /* 点标记:浏览器的东北角 */
    const marker2 = new AMap.Marker({
        position: [bounds.northeast.N,bounds.northeast.Q],
        title: '浏览器的东北角',
        animation: 'AMAP_ANIMATION_BOUNCE'
    });
    /* 点标记:浏览器的西南角 */
    marker2.setMap(map);
    const marker3 = new AMap.Marker({
        position: [bounds.southwest.N,bounds.southwest.Q],
        title: '浏览器的西南角',
        animation: 'AMAP_ANIMATION_BOUNCE'
    });
    marker3.setMap(map);
‖放下 2022-09-13 19:53:31

他们应该不是像你说的那样获取的。地图有中心点,一般都是根据中心点计算附近的数据,而计算多点是否在某区域内明显不是最优算法,很耗资源的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文