错误:java.lang.IllegalStateException:没有包含点

2024-06-28

我在尝试搜索地图上的地点时收到此错误。我在搜索时尝试了其他分辨率,但没有运气。

java.lang.IllegalStateException:没有包含点

在这一行:LatLngBounds.Builder builder = new LatLngBounds.Builder();

我正在使用的代码:

try {
                            JSONObject jsonObject = new JSONObject(response.body().toString());
                            JSONArray jsonArray = jsonObject.getJSONArray("routes");

                            for (int i = 0; i < jsonArray.length(); i++) {
                                JSONObject route = jsonArray.getJSONObject(i);
                                JSONObject poly = route.getJSONObject("overview_polyline");
                                String polyline = poly.getString("points");
                                polyLineList = decodePoly(polyline);
                            }

                            // Adjusting Bounds
                            LatLngBounds.Builder builder = new LatLngBounds.Builder();
                            for (LatLng latLng:polyLineList) {
                                builder = builder.include(latLng);
                            }
                            LatLngBounds bounds = builder.build();
                            CameraUpdate mCameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds, 2);
                            mMap.animateCamera(mCameraUpdate);


private List decodePoly(String encoded) {

    List poly = new ArrayList();
    int index = 0, len = encoded.length();
    int lat = 0, lng = 0;

    while (index < len) {
        int b, shift = 0, result = 0;
        do {
            b = encoded.charAt(index++) - 63;
            result |= (b & 0x1f) << shift;
            shift += 5;
        } while (b >= 0x20);
        int dlat = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1));
        lat += dlat;

        shift = 0;
        result = 0;

        do {
            b = encoded.charAt(index++) - 63;
            result |= (b & 0x1f) << shift;
            shift += 5;
        } while (b >= 0x20);
        int dlng = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1));
        lng += dlng;

        LatLng p = new LatLng((((double) lat / 1E5)), (((double) lng / 1E5)));
        poly.add(p);
    }

    return poly;
}

Image:


您当前的代码仅使用列表中的最后一个路由,但更常见的是使用列表中的第一个路由,而不是使用备用路由之一。

为了获得解码后的折线列表,您只需查看该折线的第一个元素routesJSONArray,如您所见这个工作示例 https://stackoverflow.com/a/32940175/4409409.

因此,删除 for 循环并得到overview_polyline从第一个元素开始:

JSONArray routeArray = jsonObject.getJSONArray("routes");
JSONObject routes = routeArray.getJSONObject(0);
JSONObject overviewPolylines = routes.getJSONObject("overview_polyline");
String encodedString = overviewPolylines.getString("points");
polyLineList = decodePoly(encodedString);

这应该可以解决最常见的情况,即您成功地从请求中获取数据。

为了安全起见,无论何时您在处理问题时LatLngBounds.Builder,您应该确保您有一个非空数据集。
这将确保您永远不会收到 IllegalStateException:

if (!polyLineList.isEmpty()) {
    // Adjusting Bounds
    LatLngBounds.Builder builder = new LatLngBounds.Builder();
    for (LatLng latLng:polyLineList) {
      builder = builder.include(latLng);
    }
    LatLngBounds bounds = builder.build();
    CameraUpdate mCameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds, 2);
    mMap.animateCamera(mCameraUpdate);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误:java.lang.IllegalStateException:没有包含点 的相关文章

随机推荐

  • 使用 iOS 7.1 mini-ui 从纵向切换到横向时可见灰色区域

    在我正在开发的一个 Web 应用程序中 我尝试了 iOS 7 1 的新功能minimal ui功能 参见iOS 7 1 中的 safari 全屏 带有最小的 ui 元标记 https stackoverflow com questions
  • HTML:如何为 Chrome 原生 PDF 阅读器指定 PDF 打开参数?

    我在我的网站上显示一些 PDF 文档 如下所示 p It appears you don t have a PDF plugin for this browser p 由于 Chrome 上有原生 PDF 阅读器 所有开放参数 http w
  • UtcNow 和 Now 是相同的日期时间吗?他们知道自己与众不同吗?

    如果我运行如下代码片段 bool areTheyTheSame DateTime UtcNow DateTime Now 我会得到什么 返回的 DateTime 是否知道它的时区以便我可以比较 我的具体问题是我正在尝试构建一个类似缓存的 A
  • 在 Flutter 应用程序中下载大型 pdf 文件

    我正在寻找一种使用 Flutter 应用程序从外部服务器下载大型 pdf 文件以进行离线存储的方法 但下载大文件 有时 100mb 以上 需要一些时间 我不希望应用程序陷入等待下载的状态 我正在寻找的是一个下载函数 它具有带有进度报告的回调
  • 算法复杂度:for循环下的if/else

    我想知道在类似以下情况 for 循环下的 if else 语句 的复杂度是否为 O n 或 O n 2 for character in string if character something do something else do
  • 如何在 C# 中将十六进制字符串转换为字节?

    如何将这个字符串转换为字节 string a 0x2B 我尝试了这段代码 byte a 但它说 无法将字符串类型转换为字节 当我尝试这段代码时 Convert ToByte a 和这个byte Parse a 它说 输入字符串的格式不正确
  • Easy XPathNavigator GetAttribute

    刚刚开始我的第一次尝试XPathNavigator 这是我的简单 xml
  • 使用 Thrust 时在 CUDA 中启动计时内核

    CUDA 中的内核启动通常是异步的 这 据我了解 意味着一旦 CUDA 内核启动 控制权立即返回到 CPU 当 GPU 忙于数字运算时 CPU 继续做一些有用的工作 除非CPU被强制停止使用cudaThreadsynchronize or
  • R:异步并行lapply

    迄今为止我发现使用并行的最简单方法lapply在 R 中是通过以下示例代码 library parallel library pbapply cl lt makeCluster 10 clusterExport cl cl clusterE
  • python socket.recv() 方法如何知道已到达消息末尾?

    假设我使用 1024 作为客户端套接字的缓冲区大小 recv 1024 假设服务器要发送给我的消息由 2024 个字节组成 我的套接字只能接收 1024 字节 其他 1000 字节发生了什么 recv 方法是否会等待一定时间 例如 2 秒
  • 如何在运行的docker容器中编辑/etc/hosts文件

    我正在开发一个应用程序 该应用程序需要将一些配置存储在 docker 容器的 etc hosts 文件中 我已经尝试了很多选项 但没有找到在运行时修改 etc hosts 文件的任何正确方法 我想通过 Dockerfile 或 java 代
  • 是否有与 ASP.NET 中的 htmlencode / htmldecode 等效的 javascript?

    问题是这样的 您有一个文本框 输入一些文本 然后将其发送到服务器 在另一页上 检索该值并将其显示在屏幕上的文本框和标签中 停止脚本攻击很重要 asp net 不会让您提交不安全的代码 因此在提交您的 javascript 时将 lt 和 g
  • 使用 SWIG 封送 Python PIL 图像

    我有一个库 它采用非常简单的 C 图像结构 Represents a one channel 8 bit image typedef struct simple image t uint32 rows uint32 cols uint8 i
  • COALESCE - 保证短路吗?

    From 这个问题 https stackoverflow com questions 505747 best way to do nested case statement logic in sql server 关于使用 COALESC
  • 使用不同的用户凭据启动另一个进程并进行提升

    我正在尝试从非提升进程启动提升进程 但我还需要为具有管理凭据的用户提供用户名和密码 我已经尝试过 runas 海拔方法以及使用清单 但两者都会产生不同的错误 例如 如果我这样做 不使用需要提升的清单 ProcessStartInfo inf
  • HTML5 canvas drawImage() 不适用于 FireFox

    问题 我正在开发一个项目 需要在画布上对符号的绘制进行动画处理 这很棒并且可以在 chrome 上运行 但在 FireFox 上它不会绘制任何东西 没有错误消息或任何东西 这还是问题吗 我可以使用其他东西来达到相同的效果吗 这个方法可以在所
  • 将电子邮件转移到新主机?

    一位客户正在从他们的旧托管迁移到我的托管 他们在旧主机上有一些电子邮件帐户 我想将旧主机上的所有电子邮件移至我的 我怎样才能做到这一点 如果我使用 POP 下载它们 我可以将它们上传到新主机吗 答案取决于您使用的邮件服务器 是的 您可以使用
  • 隐式模板参数

    以下代码在 Xcode 中生成编译错误 template
  • RazorEngine 中的模板是如何缓存的?

    你打电话时RazorEngine Razor Compile 编译好的模板存放在哪里 程序重启后可以使用吗 如果内存不足 会被dump吗 我在用RazorEngine in an ASP NET http en wikipedia org
  • 错误:java.lang.IllegalStateException:没有包含点

    我在尝试搜索地图上的地点时收到此错误 我在搜索时尝试了其他分辨率 但没有运气 java lang IllegalStateException 没有包含点 在这一行 LatLngBounds Builder builder new LatLn