问题标签 [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 - 动态更改“MAX_DISTANCE_AT_ZOOM”和“SHOULD_ANIMATE”
我正在使用 android-maps-utils 对谷歌地图中的标记进行聚类。
我需要为用户提供更改缩放级别集群以及打开和关闭集群动画的可能性。
缩放级别在 NonHierarchicalDistanceBasedAlgorithm.java 内部管理,我能够动态更改它,但它仅在内部执行时才有效
onCreate()
,因为如果我在mClusterManager.setRenderer(new MyClusterRenderer(this, map, mClusterManager))
集群变得疯狂之后更改它。我需要能够从内部更改它onResume()
。动画是在 DefaultClusterRenderer.java 中设置的,我尝试了很多方法,但我能够更改
SHOULD_ANIMATE
变量的唯一方法是直接在该类中获取共享首选项,因此只有通过刷新活动才能更改它。同样,我想从内部进行,onResume()
或者无论如何不涉及刷新活动。
android - 与 LocationManager 相比,使用 FusedLocationProviderApi 有什么优势吗?
之前为了获取用户当前位置,我使用了 LocationManager:
它易于阅读且代码非常简单。
但我注意到 Google 最近在 Google Play Services 中发布了新的客户端 API 模型,并建议使用FusedLocationProviderApi,它看起来要复杂得多,它是异步的,它需要处理回调等。
与 LocationManager 相比,使用 FusedLocationProviderApi 有什么优势吗?
android - Google Maps Android Heatmap Utility 显示白色瓷砖
我将 Google Maps Android Heatmap Utility ( https://developers.google.com/maps/documentation/android/utility/heatmap ) 与 Google Maps API v2 一起使用。这个实用程序基本上只是一个类,实现了一个 TileProvider,可以使用 map.addTileOverlay 将其添加到地图中。代码在 GitHub 上公开:
现在,当我运行他们的演示应用程序(https://developers.google.com/maps/documentation/android/utility/setup)时,我遇到了一个奇怪的错误。基本上,当查看的数据显示在屏幕中间时,一切正常。但是当您开始拖动屏幕并且数据到达屏幕边缘时,包含数据的图块变为白色。
一旦我将数据滚动回中心,一切看起来都很好。
我很确定这不是 TileProvider 的瓦片生成代码中的错误,因为它的 getTile-Method 实际上从未返回任何白色或其他不正确的瓦片(我已经检查过)。我让几个人试用了演示应用程序,他们都可以重现问题。
我的问题是:
- 假设这是 Maps API v2 TileOverlay 中的错误是否安全?
- 以前有人遇到过这个问题吗?有什么解决办法吗?
android - 区分android中同一位置的两个标记
在代码中显示标记,但如果许多标记具有相同的纬度和对数,则生成的图标必须具有不同的颜色,或者必须移动一点,以便我们必须能够找到它在那个位置。有可能吗?
android - 如何使用 android-maps-utils 更改单击的标记图标?
在我的 Android 项目中,我使用android-maps-utils库将聚类应用于地图视图上的一堆标记。每当单击标记时,我都会收到通知,onClusterItemClick
因此我可以执行一些操作。
现在我想让用户知道点击了哪个标记。最简单的视觉反馈是更改标记图标的(颜色)。MarkerOptions
可以通过可以在其中访问的对象设置图标,onBeforeClusterItemRendered(T item, MarkerOptions markerOptions)
例如:
如果我可以访问Marker
对象本身,例如在onMarkerClick (Marker marker)
我可以通过更改图标setIcon
。
如何更改单击的标记图标?
有关的
android - 如果android已经连接到WiFi并且一段时间后WiFi消失了,android将如何知道它必须连接到哪个提供商?
在 android 地图中切换到最佳 locationproviders 的代码
android - 如何判断点击的是哪个集群项?
我正在使用 Android 地图实用程序。我正在从在线读取坐标列表并将它们绘制为集群项目,并将它们保存在哈希图中,该哈希映射将我创建的类“房间”与集群项目相关联:
private HashMap roomHashMap = new HashMap();
单击此集群项目的信息窗口时,我需要检索与集群项目关联的房间。我已经使用没有问题的标记实现了这一点,因为在 onInfoWindowClickListener 我刚刚添加了 roomHashMap.get(marker) 但现在我不能这样做,因为在信息窗口中它仍然需要一个标记,但我有一个 ClusterItem 的 HashMap
android - 使用聚类时如何禁用android地图标记单击自动居中?
我知道在使用以下方法点击标记时可以避免将相机居中:
但是,我遇到的问题是现在我想使用集群,当然我想在标记(实际上是项目或集群)被录制时看到信息窗口。但我不知道在这些情况下如何调用类似 showInfoWindow 的东西。在这段代码中,如果我返回 false,我会看到信息窗口但地图居中。如果我返回 true,则地图不居中但不显示信息窗口:
当我使用聚类并同时显示信息窗口时,您是否知道如何避免使地图居中?提前致谢。
编辑:使用@skywall 建议,我发现了使用自定义渲染器的更好方法:
android - Android 获取未聚集的标记
我正在开发一个 android 应用程序,我正在使用Google Maps Android API Utility Library。
更具体地说,我正在使用该库的集群部分。现在我的问题:
我对地图上显示但当前未聚集的标记感兴趣。我尝试了不同的东西,但无法理解它。这种工作方式是将所有渲染的标记项保存在数组列表中,然后将标记位置与屏幕上地图的 LatLng 边界进行比较,如果标记在屏幕边界内,则标记信息将添加到不同的数组列表中稍后显示在列表视图中。问题是当我缩小时,标记仍位于renderPersonItems数组中,即使这些标记现在已聚集,也会显示在列表视图中。我无法清除renderPersonItems数组导致标记在生命周期中仅呈现一次。所以我正在寻找不同的解决方案。这是我到目前为止得到的:
DefaultClusterRenderer 中的代码:
主要活动中的代码:
提前致谢!