问题标签 [android-maps-utils]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4534 浏览

android - 在 Android 应用程序中将 geojson 文件添加到我的地图

我对 Android Studio 和 Java 的任何事情都很陌生。我尝试制作一个带有一些兴趣点的地图应用程序。这些点是一个geojson文件。我阅读了 google 的示例及其网站(Google Maps Android GeoJSON Utility)中的说明,但我的代码中有一些错误。第一个错误与 getmMap 方法有关,(错误:找不到符号方法 getnMap())。我找到解决方案的第二个是关于文件它不需要扩展名(geojson)。我在 rs 中创建了一个名为 raw 的文件夹,并在其中添加了 geojson 文件。

MapsActivity.java 的完整代码

错误:cnnot find 符号方法 getmMap()

我将 getmMap() 更改为 mMap 和系统:使用 try/catch 环绕。我更改它并将代码更改为。代码的构建没有问题,但在地图中我没有看到要点。

在此处输入图像描述

安卓工作室

0 投票
1 回答
642 浏览

android - 使用 google maps utils 从 url 渲染集群图标

我为每个集群项目使用动态图标,所以我有特殊的图标 url 并从 url 加载标记图标。我使用以下代码:

}

在我的情况下,某些图标仍然是默认的,有时放大缩小图标会发生变化。问题是此代码不适用于每个集群项目,在缩放更改集群图标也更改后,它可能会呈现我的自定义图标并可能使用默认值。

在此处输入图像描述

在此处输入图像描述

0 投票
0 回答
1157 浏览

java - “如何修复'NoClassDefFoundError:无法在 Android Robolectric 中初始化类 com.google.android.gms.common.GooglePlayServicesUtil' 错误”

我使用 Android Studio 将我的 android 项目迁移到 AndroidX,但现在当我使用 Robolectric 启动我的单元测试时出现错误:'java.lang.NoClassDefFoundError: Could not initialize class com.google.android.gms.common.GooglePlayServicesUtil' 但是'com.google.android.gms.common.GooglePlayServicesUtil' 存在,我可以在我的文件中使用这个导入。

我尝试 - 将 gradle 升级到最新版本 5.1.1 - 清理、删除缓存、重启 Android Studio - 升级 Robolectric 和地图库

这是我的测试功能:

这是我启动测试时的错误:

这是我的项目中导致问题的代码:inflater

我想在没有此错误的情况下启动测试。

0 投票
0 回答
47 浏览

android - 使用 android-maps-utils:0.5 创建 GeoJsonPolygon

我正在使用 android-maps-utils:0.5 通过以下方式创建 GeoJsonPolygon

但是当我试图从多边形中获取坐标时,它什么也没返回。更多的事实是 GeoJsonPolygon 除了List<? extends List<LatLng>> coordinates作为我通过转换我的List<LatLng> latLngList使用实现的参数,Collections.singletonList(latLngList)但我很确定我没有正确地做它。

0 投票
0 回答
484 浏览

google-maps - GoogleMap Utils quadTree - 什么是用例?

我看到谷歌有一个四叉树实现,可以用来搜索给定点是否有效地接近另一个点。但我不明白如何使用。看看这里我还发现此信息非常有价值

根据定义,四叉树是一棵树,其中每个节点最多有四个孩子

谷歌的例子是使用积分,但我想我可以把它换成 lat long。但是让我们谈谈上面链接中显示的示例。

我看到他们正在添加这样的四点:

然后他们开始在边界中搜索边界,如下所示:

这是否意味着,他们只搜索我在上面输入的四个点来查找哪些点在这些范围内?

更新:我是否应该明白,当我向它添加点时,谷歌实现的这个 quadTree 会自动重新排列,这样每个节点最多有 4 个点作为靠近它的子节点?它会自动为我做这个吗?

0 投票
1 回答
190 浏览

google-maps - android-maps-utils 中的 DefaultClusterRenderer 在 v1.2.1 中是否损坏?

当试图覆盖 DefaultClusterRenderer 中的任何函数时,它不会在 v1.2.1 中编译。在 v1.1.0 中一切正常

在这里,我想为 clustericons 设置颜色,并DefaultClusterRenderer onBeforeClusterItemRendered根据一个值覆盖设置颜色。

以下代码在 v1.2.1 中失败,在 v1.1.0 中完全没问题

有谁知道发生了什么变化,以及如何解决?

RG

0 投票
1 回答
223 浏览

android - 地图类型 GoogleMap.MAP_TYPE_NONE 的 Google 地图背景颜色

我已将我的平面图的地面叠加层添加到 Google 地图中。它完美加载。代码如下所示。

这将产生如下所附的 UI。

在此处输入图像描述

我在这里有两个问题:

  1. 如何将背景颜色更改为我选择的颜色?
  2. 如何以编程方式放大和缩小?假设我想在地图加载后立即放大 5F。
0 投票
0 回答
238 浏览

android - Android Google Map 集群无法处理来自 api 的数据

我必须在我的应用程序集群功能中实现从服务器加载的数据。我已经使用改造库成功地在地图中显示了数据,但是我尝试进行聚类并且它不起作用。我在互联网上关注了 android 文档和一些教程,但我对自己做错了什么感到非常困惑。这是我的代码:

我已调试,一切似乎都很好。我的自定义渲染器是这样的:

有人可以给我一些建议,说明我做错了什么,或者什么是正确设置聚类的好方法。

编辑:最后我解决了我的问题,这是我做的一个错误。我只向集群管理器添加了一个集群项目。我创建了一个新的集群项目 ArrayList,并在 for 循环中为每个项目添加了坐标。然后在 for 循环之外,我调用了 clustermanager.addItems(clusteritems) 并且正在工作。以下是我为面临此问题的任何人提供的代码:

0 投票
2 回答
153 浏览

google-maps - 在圆半径内显示地图标记隐藏在半径迭代器问题之外的标记

我需要在我的圆半径内显示标记。我正在使用科特林。我有每个 onCameraIdleListener 更新的圆半径。我遇到的问题是我不明白如何正确使用 for 方法。我的最终目标是在标记位于圆的半径之外时隐藏它们。所以这是我创建标记的代码。这是我存储位置键/值的地方:

这是我将标记添加到地图的代码:

这是我用于 addTestLocationToMap 的类:

这是我为 Circle 开设的课程:

这是我将圆圈添加到地图的方式:

}

以下是代码顶部的私有变量,用于更新相机的 lat/lng:

这是Circle的地图:

这就是我更新相机的方式

这就是我试图在半径中显示/隐藏标记的方式。这是:

这是半径的代码:

for (marker : LatLng in circle.getValue("CIRCLE") ){ if (SphericalUtil.computeDistanceBetween(circle.getValue("CIRCLE"), test.getValue("TESTLOCATION") ) < 241402.0){ marker.isVisible = true}

这是我得到的错误“For-loop range must have an 'iterator()' method”这是我遇到的问题。我试图研究迭代器,但我不理解它。我的代码看起来对吗?我对代码做错了吗?我从对另一个类似问题的评论中得到了大致的想法。我相信这段代码是用java编写的。我已尽我所能保持相似。但我不确定如何迭代这个 for 循环?谢谢你的帮助!

0 投票
0 回答
68 浏览

google-maps-markers - Google Maps Android No Cluster/DeCluster on Zoom In/Out

我已经在我的应用程序的 iOS 版本上实现了 Google Maps Clustering,它运行良好。我现在正在尝试使用 android maps 实用程序库在 Android 版本上实现 Clustering,当我放大或缩小时它不是 Declustering/Clustering。

这是集群项目类:

以下是集群管理器的实现方式:

集群项是从 Firebase 数据库中添加的,如下所示:

初始地图截图:

在此处输入图像描述

缩小时的屏幕截图:

在此处输入图像描述

放大时的屏幕截图:

在此处输入图像描述

缩小/缩小时集群项目没有被集群/去集群并且没有动画。当我缩小时,我希望集群项目移动到集群中,并且当我放大集群项目以与集群分离时,就像它们在应用程序的 iOS 版本中所做的那样。此外,当我点击集群标记时,地图会放大,但集群不会扩展到集群项目。没有一个集群项目具有相同的 lat/lng 并且相隔很远。

在 iOS 版本中,我能够设置算法(非基于分层距离)和几个用于聚类的“桶”(并为每个桶指定自定义图标)。我需要两个版本的外观和响应相同,以便用户在 iOS 和 Android 设备上拥有相同的体验。