【问题标题】:Loading geojson file into codename one将geojson文件加载到代号一中
【发布时间】:2018-01-16 13:05:24
【问题描述】:

我在将 api(gdelta 项目)中的 geojson 文件加载到代号一时遇到问题。 json 来自此 api 的一个文件,您必须下载该文件,但是我无法在线或自己找到将此文件下载到我的程序中的方法。我已经尝试将其放入存储中,但我似乎无法实际找到放置文件的位置。

【问题讨论】:

    标签: codenameone


    【解决方案1】:

    您可以将文件下载到存储中并为其指定任何名称,但我猜您实际上要问的是如何连接到 Web 服务并解析生成的 JSON 数据。我没有 geojson 的即时示例,但我有 Google 地理编码网络服务的示例,应该非常接近。作为旁注,这些示例来自我在 online course...中的 Uber 克隆应用程序上所做的工作...

    public static void findLocation(String name, SuccessCallback<Coord> location) {
        Rest.get("https://maps.googleapis.com/maps/api/geocode/json").
                queryParam("address", name).
                queryParam("key", Globals.GOOGLE_GEOCODING_KEY).
                getAsJsonMap(callbackMap -> {
                    Map data = callbackMap.getResponseData();
                    if(data != null) {
                        List results = (List)data.get("results");
                        if(results != null && results.size() > 0) {
                            Map firstResult = (Map)results.get(0);
                            Map geometryMap = (Map)firstResult.get("geometry");
                            Map locationMap = (Map)geometryMap.get("location");
                            double lat = Util.toDoubleValue(locationMap.get("lat"));
                            double lon = Util.toDoubleValue(locationMap.get("lng"));
                            location.onSucess(new Coord(lat, lon));
                        }
                    }
                });
    }
    

    结果返回到遵循 JSON 数据层次结构的 Map 对象。您可以在代码中放置断点并检查映射值以查看结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-01
      • 2020-09-26
      • 2017-12-09
      • 2020-01-04
      • 1970-01-01
      • 2019-11-25
      • 2022-08-19
      • 2015-02-18
      相关资源
      最近更新 更多