V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Chenhe
V2EX  ›  问与答

讨论下天气 api 调用的优化方案

  •  
  •   Chenhe · 2019-09-29 12:17:37 +08:00 · 1385 次点击
    这是一个创建于 1663 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前的想法是放在后端统一调用,每个城市只查询一次缓存下来。

    现在有个小问题,客户端只能上报经纬度,经纬度转到城市又需要一个 api,而且难以缓存(经纬度数据不是离散的),项目是团队项目,稍有规模,v 友们有没有什么方案可以优化下少花点钱

    6 条回复    2019-09-29 14:25:08 +08:00
    bjzhou1990
        1
    bjzhou1990  
       2019-09-29 13:23:47 +08:00
    客户端用高德百度之类 SDK 转成城市
    Chenhe
        2
    Chenhe  
    OP
       2019-09-29 13:54:29 +08:00
    @bjzhou1990 看了下个人限制 6000/1 小时 峰值有可能会超
    also24
        3
    also24  
       2019-09-29 14:05:29 +08:00
    其实可以自己把地理区域的边界爬下来,然后写一个简单的服务。

    我拉了区一级的数据,其实并不大:


    然后就可以自己写个简单的接口来查询,类似这样:
    https://geo.by24.cn/district.php?point=113.031952,27.396448

    注意:上面这个接口是我写着玩儿的,不要拿来用
    also24
        4
    also24  
       2019-09-29 14:09:27 +08:00
    补充:
    才想起来我数据库里其实只存了一部分数据,具体的 县 / 区 一级的数据有 142 MB 那么大。
    and 接口实现很简单,单 php 文件不到 100 行就好了。
    opengps
        5
    opengps  
       2019-09-29 14:17:12 +08:00 via Android
    把经纬度坐标去百度地图调用解析服务,得到行政区里的省市区信息,同区信息作为一个一小时缓存结果
    TimePPT
        6
    TimePPT  
       2019-09-29 14:25:08 +08:00 via iPhone
    如果天气不用精确到街道的话,可以考虑维护一个乡镇以上行政区划 GPS 范围表,快查很方便。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5326 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 01:29 · PVG 09:29 · LAX 18:29 · JFK 21:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.