问题标签 [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 投票
10 回答
17071 浏览

android - IllegalArgumentException:使用 gms.maps.model.Marker.setIcon 的非托管描述符

我有一个使用android-maps-utilsglide 标记图标的应用程序。
我收到了使用 Firebase 崩溃报告的错误报告,因为它是私有的,所以我无法在源代码中跟踪它gms.maps.model.Marker.setIcon,所以我正在寻求解决这个问题的一些帮助。
问题的以下部分分为:

  • 用户在做什么
  • 什么firebase崩溃报告给我
  • 一些项目配置
  • 我尝试/发现试图理解/修复它

用户在做什么
他正在放大和缩小地图(Fragment使用com.google.android.gms.maps.SupportMapFragment

什么firebase崩溃报告给我

异常 java.lang.IllegalArgumentException:非托管描述符
com.google.maps.api.android.lib6.common.kb (:com.google.android.gms.DynamiteModulesB:162)
com.google.maps.api.android.lib6。 impl.oc (:com.google.android.gms.DynamiteModulesB:75)
com.google.maps.api.android.lib6.impl.db.a (:com.google.android.gms.DynamiteModulesB:334)
com. google.android.gms.maps.model.internal.q.onTransact (:com.google.android.gms.DynamiteModulesB:204)
android.os.Binder.transact (Binder.java:387)
com.google.android.gms .maps.model.internal.zzf$zza$zza.zzL () com.google.android.gms.maps.model.Marker.setIcon ()
co.com.spyspot.ui.content.sucursal.SucursalRender$CustomSimpleTarget.onResourceReady (SucursalRender.java:156)
co.com.spyspot.ui.content.sucursal.SucursalRender$CustomSimpleTarget.onResourceReady (SucursalRender.java:130)
com.bumptech.glide.request.GenericRequest.onResourceReady (GenericRequest.java:525)
com.bumptech.glide.request。 GenericRequest.onResourceReady (GenericRequest.java:507)
com.bumptech.glide.load.engine.EngineJob.handleResultOnMainThread (EngineJob.java:158)
com.bumptech.glide.load.engine.EngineJob.access$100 (EngineJob.java:22 ) )
com.bumptech.glide.load.engine.EngineJob$MainThreadCallback.handleMessage (EngineJob.java:202)
android.os.Handler.dispatchMessage (Handler.java:98)
android.os.Looper.loop (Looper.java:148 )
android.app.ActivityThread.main (ActivityThread.java:5443)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:728)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java: 618)

和:

在此处输入图像描述

一些项目配置

  • 我正在使用自定义渲染 ( SucursalRender extends DefaultClusterRenderer<Sucursal>)
  • 我正在用 Glide 下载 Marker 图标,就像我之前说的:Glide.with(context).load(id).fitCenter().placeholder(R.drawable.ic_no_image).into(simpleTarget);

simpleTarget是我处理为 Glide 下载/缓存的图像的地方。我发布所有代码是simpleTarget因为崩溃从那里开始:

崩溃是在最后一行代码中引发的:markerToChange.setIcon(BitmapDescriptorFactory.fromBitmap(icon));

我尝试/发现试图理解/修复它

  • 尝试在 4 个真实设备中重现该错误,但均未成功。
  • 在网上搜索类似的错误或gms.maps.model.Marker.setIcon代码com.google.maps.api.android.lib6
  • 试图理解 Android Studio 中给出的混淆代码Marker.setIcon

我想我可以将代码包装在try-catch blockIllegalArgumentException: Unmanaged descriptor 中,以避免应用程序因为崩溃而关闭,但这只是一种解决方法。

更新 2
的代码DefaultClusterRenderer

ImageLoaderManager只是 Glide 的一个门面。

0 投票
1 回答
988 浏览

android - Android Google Map v2 绘制静态网格

仅当缩放级别为 18 时,我才尝试在地图上绘制网格。我使用以下代码成功创建了网格。但是当我移动地图时,我遇到了一个问题,创建了新的网格并且位置发生了变化。您可以看到,在右图中的屏幕截图中,我将地图向左滑动,并且网格线不一样。我想要绘制固定的网格。代码发布在图片下方。我从 GoogleMap 的 onCameraChange 监听器调用下面的代码。 在此处输入图像描述

代码删除了它的机密。

drawPolyline 函数绘制单线

0 投票
1 回答
1023 浏览

android - 更改后如何将 Google 地图标记设置回默认图标?

我在android-maps-utils我正在开发的 android 应用程序中使用带有 Google Map 的库,并且我在地图上有几个标记。当满足某些条件时,我setIcon()使用IconGenerator.

然后,当满足不同的条件时,我想将图标更改回原始的红色 Google Maps 标准图标。我可以跟踪条件并将它们更改为不同的自定义图标,但不知道如何将它们返回到谷歌默认值,而不是在网上某处找到一个图标并将其添加到我的项目中以手动添加,就像我使用我的个性化图标一样. 有谁知道如何检索默认值?

0 投票
1 回答
1161 浏览

android - 用于 clusterItems 的 Android 谷歌地图 markerClickListener

我正在尝试为我的 googlemaps 标记实现集群。目前我有一些自定义标记颜色,当您单击它们时会触发 API 调用。加载这些结果后,将打开一个底页,其中包含该标记的特定信息。

我想保留相同的功能(自定义标记/clickListeners/标记周围的半径),但在缩小时添加集群。我查看了不同的资源来寻求帮助:

Android 集群和标记点击次数

Android 标记聚类

标记管理器.java

但我不确定如何为集群项目实现自定义标记和侦听器。我能够在没有点击监听器的情况下获得带有标准标记的集群。以下是一些用于说明的图像:

这是我目前的情况(我想对这些标记进行聚类)。如您所见,当我单击标记时会弹出底部表格

现状

这是我目前能够做到的,但我想将它与之前的图片结合起来

聚类图

这是我的地图片段代码的重要部分,(Point该类确实实现了ClusterItem接口):

我希望有人可以在正确的方向上帮助我。谢谢!

0 投票
2 回答
131 浏览

android - 检查点是否位于(或靠近)凸多边形边缘

所以我将 KML 文件加载到我的谷歌地图,它们在地图上显示为凸多边形。
我也有用户位置,基本上我想知道用户是否位于多边形的边缘之一(这是一个凸多边形)。
并且由于位置服务不是 100% 准确,如果位置很近(边缘距离为 15m),那很好:)

我的解决方案是找到在 2 个顶点之间传递的函数 y=f(x),然后检查用户位置是否低于 f(x)+a 和高于 f(x)-a。

我觉得我错过了一些东西,应该有更好(更准确)的方法来解决我的问题,甚至可能有一个已经解决这个问题的 android 的 java 库。

谢谢 :)

0 投票
0 回答
507 浏览

android - 将集群标记的比例因子更改为我自己的属性

我有一个 android 应用程序,其中的地图填充了具有销售属性的模型。

我能够实现自定义ClusterRenderer以在集群图标上显示总销售额而不是集群大小。

我遇到的问题是例如。

ClusterA 有 5 个ClusterItems,总销售额为 100 万

ClusterB 有 15 个ClusterItems,总销售额为 100k

由于集群的默认行为,集群 B 比集群 A 大(因为它有更多ClusterItems

有没有办法让我劫持渲染器,以便集群标记的大小与我的总销售额而不是集群大小一起缩放?

任何帮助将不胜感激!

添加我的 clusterrenderer 代码

}

为了更好地说明我的问题,请查找附件图片。请注意,6.3k 比 23k 大(请原谅我的英语) 在此处输入图像描述

0 投票
0 回答
1965 浏览

google-maps - 无法分配 dup blob fd:带有千标记的 IconGenerator 导致异常

我的应用程序有 1,5 千个标记,通过标记聚类显示。

实际上它适用于默认标记,但我想使用矢量位图并用文本(加油站的价格)渲染标记,如下所示:

![在此处输入图像描述

在完成渲染标记之前,发生此异常:“无法分配 dup blob fd。”

我认为这是某种内存溢出,但我不知道如何解决。有谁知道如何解决这个问题或对如何管理这么多标记有其他建议?

注意:我已经在使用标记聚类。

注意:此问题仅出现在某些摩托罗拉和 LG 设备上。在大多数设备中都可以正常工作。一些代码:

0 投票
1 回答
1227 浏览

android - 如何在andorid的标题地图中获取可见区域的LatLngBounds

我尝试了以下代码。

如果将倾斜设置为地图,则不会给出正确的边界坐标

0 投票
1 回答
198 浏览

android - Package com.google.maps.android.geojson does not exist in com.google.maps.android:android-maps-utils:0.5+

When I upgraded my android project to android-maps-utils to 0.5+, the entire geojson package was missing.

Related Image

0 投票
1 回答
740 浏览

android - Google Maps Clustering 不适用于动态数据

我对GoogleMaps. 在我的应用程序中,当用户放大或滚动地图时,我会更新地图。我为此使用OnCameraIdleListener链接):

当这种情况发生时,我正在使用新的半径进行 API 调用,并收到一个新的对象列表,这些对象在我当前的半径内可见。在我收到数据后,我将新的 POI 绘制到我的地图上。因此,我遍历一个列表,并为每个元素创建一个集群项目并将其添加到集群管理器。

并在迭代后即时调用

可悲的是,聚类不起作用。例如,我缩小地图的距离并不重要。我有什么遗漏吗?

提前致谢!