- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在 Android 应用程序上使用自定义标记运行 Google Maps SDK。在我们的测试手机上一切正常——A7000、三星和其他手机。但是,当我在 Nexus 5 或 LG 设备上运行该应用程序时,一种类型的自定义标记在 map 上显示为白色。
当标记显示为白色时,将执行所需的行为。
我们对此非常困惑,尤其是因为另一个自定义标记(非常相似)工作正常。除了硬件之外,我们的测试手机与 Nexus 5 之间的唯一区别是 Nexus 运行的是 Android 6.0,而我们的测试手机运行的是 5.x 和 4.x。
用于添加标记的代码
for(i=0;i<latLngs.size;i++)
{
LatLng latLng=latLngs.get(i);
Marker m = mMap.addMarker(new MarkerOptions().position(latLng).title("Title").icon(BitmapDescriptorFactory.fromResource(R.drawable.marker)));
}
用于更改标记图标使用
m.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.marker1));
在 Nexus 设备上,谷歌地图如下所示,一些标记变为白色,我正在使用循环添加标记。
最佳答案
编辑:随着 6 月 13 日发布的 Google Play Services 应用的 9.2.56 版,该错误已得到修复。
我找到了解决您的问题的方法,但是它非常难看,除非您知道要使用少量标记,否则不建议使用它。
取而代之的是:
//Getting a reference to your activity's resources
final Resources resources = myActivity.getResources();
//Defining your drawable res id
final int resId = R.drawable.my_drawable_res_id;
marker.setIcon(BitmapDescriptorFactory.fromResource(resId));
这样做:
//Getting a reference to your activity's resources
final Resources resources = myActivity.getResources();
//Defining your drawable res id
final int resId = R.drawable.my_drawable_res_id;
marker.setIcon(
BitmapDescriptorFactory.fromBitmap(
BitmapFactory.decodeResource(resources, resId)));
阅读此链接后找到的解决方法(感谢@antonio 的评论): https://code.google.com/p/gmaps-api-issues/issues/detail?id=9765
该错误是在装有最新版本的 Google Play 服务库(可能是 8.7+ 或 9+)的某些设备上引起的。
如果您与多个标记共享一个 BitmapDescriptor,就会发生这种情况,因此解决方法是每次都重新创建一个。我认为 BitmapDescriptorFactory.fromResource
可能会以某种方式缓存读取的资源,这就是您需要将其解码为位图的原因。
这里引用了 transbao 在 antonio 给出的链接中的第 10 条回复:
We can repro this bug which causes certain marker icons to render as white patches. Your app may be affected if an icon bitmap is shared among multiple markers, although the issue only manifests in specific usage scenarios.
In the short term, we'd recommend the workaround in #8 -- use a unique Bitmap object for each marker:
marker.setIcon(BitmapDescriptorFactory.fromBitmap( BitmapFactory.decodeResource(getResources(), R.drawable.drawableid)));
and
new MarkerOptions().icon(BitmapDescriptorFactory.fromBitmap( BitmapFactory.decodeResource(getResources(), R.drawable.drawableid)));
Creating a BitmapDescriptor once and reusing it won’t be sufficient. E.g. if you’re doing:
BitmapDescriptor bd = ...; marker1.setIcon(bd); marker2.setIcon(bd);
...then the workaround would be:
marker1.setIcon(BitmapDescriptorFactory.fromBitmap( BitmapFactory.decodeResource(getResources(), R.drawable.drawableid))); marker2.setIcon(BitmapDescriptorFactory.fromBitmap( BitmapFactory.decodeResource(getResources(), R.drawable.drawableid)));
Please note that, if your app uses a lot of markers, this workaround could possibly result in higher memory consumption. Also, unfortunately the workaround doesn’t apply when the default icon is used via BitmapDescriptorFactory.defaultMarker().
关于android - 自定义标记在某些设备上显示为白色(Google Maps v3 Android SDK),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37252046/
虽然我在 reactjs 组件(组件名称为 renderLocationLink)的渲染方法返回的 html 中包含了 a 标签的 onclick 处理程序,但渲染正确地发生了 onclick 处理程
我必须以 docx 格式存储一些文档,但无法忍受使用 msword:我想编辑某种纯文本标记,除了基于 XML 的东西(我也不喜欢那样)和从/到那个到/从 docx 转换。 有什么选择吗? 编辑:由于人
有一个页面,其 anchor 标记在延迟后变得可点击。我想使用用户脚本在可点击后点击它。 页面加载时,HTML 源代码为: Download 延迟一段时间后,#button 变
我正在将 XML 文件解析为 pandas 数据帧。使用下面的代码我可以成功获取所有内容,但是这使用了完整 XML 的编辑版本。完整的 XML 在主数据表之上有一堆摘要数据,请参阅完整的 XML he
目前我正在研究 xml.sax 解析器来解析 xml 文件 假设我有以下代码 filepath = 'users/file.xml' try: parser = xml.sax.make_pa
我正在尝试构建一种语法来解释用户输入的文本,搜索引擎风格。它将支持 AND、OR、NOT 和 ANDNOT bool 运算符。我几乎所有东西都在工作,但我想添加一个规则,将引用字符串之外的两个相邻关键
我遇到了 Terraform EKS 标记的问题,并且似乎没有找到可行的解决方案来在创建新集群时标记所有 VPC 子网。 提供一些上下文:我们有一个 AWS VPC,我们在其中将多个 EKS 集群部署
我是xpath的新手,对此了解不多。我知道有一种方法可以使用xpath在xml / xhtml文件中查找特定标签。就我而言,我试图找到第一个(a)链接元素。不幸的是,我的xpath字符串[// a [
我在索引页上的产品卡上遇到问题。在产品卡内部,我有 Vue 组件来渲染表单(数量和添加到购物车按钮)。当我单击“添加到购物车”按钮时,我得到了预期的结果。响应被发送到根 vue 组件,然后我看到产品已
html setMouse(true)} onMouseEnter={() => setMouse(false)} className='resume-container'> CSS .resum
我在组件中有一组枚举,如下所示: type TOption = (clVisible, clVisibleAlways, clRenderable, clEditable); TOptions
是否有出于性能考虑的javadoc标签? 人们可以想象: /** * ...other javadoc tags... * @perform Expected to run in O(n) tim
html setMouse(true)} onMouseEnter={() => setMouse(false)} className='resume-container'> CSS .resum
我有一个包含多个小子图的图。目标是当且仅当子图中的所有节点都是蓝色时,才将子图中的所有蓝色节点标记为红色。如果子图中的一个节点具有不同的颜色,绿色,那么我们将不会更改该子图中节点的颜色。 这是我正在使
我正在使用 json-ld 开发事件标记以包含在确认电子邮件中。 我的一些事件会定期重复发生。但是,最新的 Schema.org 规范不支持重复发生的事件,因此我遵循了此处提供的建议:http://l
我创建了一个插件,可以添加带有相应行号的标记。现在,这很棒,因为它现在显示在“标记” View 中。有没有办法当我双击标记上的一行时,它会转到标记指示的行? 谢谢。 最佳答案 双击“标记” View
是否有一个插件具有与 Facebook 标记类似的行为? 它的特别之处在于它具有: 在键入的单词之间自动完成 特殊输出的 html(与另一个输入字段同步) 最佳答案 您可以使用jquery提及输入pl
有没有更好的方法来读取java文件中的 token ?我目前正在使用 StringTokenizer 来分割 token 。但在大多数情况下,它的效率可能非常低,因为您必须逐个 token 地读取 t
我想知道是否有某种方法可以标记文件来识别该文件是否包含x。 考虑以下示例: 在批量转换过程中,我正在创建一个日志文件,其中列出了各个转换的成功/失败。 所以流程如下: 开始转换过程 创建名为batch
我一直在尝试模拟点击标签,但这并没有像我需要的那样工作。我的 anchor 标记看起来像这样 Download this pic 正常的 $("a").click() 或 trigger('cli
我是一名优秀的程序员,十分优秀!