问题标签 [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.
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 环绕。我更改它并将代码更改为。代码的构建没有问题,但在地图中我没有看到要点。
从
至
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
我想在没有此错误的情况下启动测试。
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)
但我很确定我没有正确地做它。
google-maps - GoogleMap Utils quadTree - 什么是用例?
我看到谷歌有一个四叉树实现,可以用来搜索给定点是否有效地接近另一个点。但我不明白如何使用。看看这里。我还发现此信息非常有价值:
根据定义,四叉树是一棵树,其中每个节点最多有四个孩子
谷歌的例子是使用积分,但我想我可以把它换成 lat long。但是让我们谈谈上面链接中显示的示例。
我看到他们正在添加这样的四点:
然后他们开始在边界中搜索边界,如下所示:
这是否意味着,他们只搜索我在上面输入的四个点来查找哪些点在这些范围内?
更新:我是否应该明白,当我向它添加点时,谷歌实现的这个 quadTree 会自动重新排列,这样每个节点最多有 4 个点作为靠近它的子节点?它会自动为我做这个吗?
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
android - Android Google Map 集群无法处理来自 api 的数据
我必须在我的应用程序集群功能中实现从服务器加载的数据。我已经使用改造库成功地在地图中显示了数据,但是我尝试进行聚类并且它不起作用。我在互联网上关注了 android 文档和一些教程,但我对自己做错了什么感到非常困惑。这是我的代码:
我已调试,一切似乎都很好。我的自定义渲染器是这样的:
有人可以给我一些建议,说明我做错了什么,或者什么是正确设置聚类的好方法。
编辑:最后我解决了我的问题,这是我做的一个错误。我只向集群管理器添加了一个集群项目。我创建了一个新的集群项目 ArrayList,并在 for 循环中为每个项目添加了坐标。然后在 for 循环之外,我调用了 clustermanager.addItems(clusteritems) 并且正在工作。以下是我为面临此问题的任何人提供的代码:
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 循环?谢谢你的帮助!
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 设备上拥有相同的体验。