【问题标题】:Custom marker is not drawn on some devices某些设备上未绘制自定义标记
【发布时间】:2016-07-28 20:23:20
【问题描述】:

我想根据我收集的一些位置数据在 Google 地图上绘制一个标记。当我使用 Galaxy S5 测试代码时,它会绘制标记,但是当我尝试使用摩托罗拉做同样的事情时,它有时无法绘制标记并在其他时候绘制它。即使在摩托罗拉中,标记所代表的对象也始终存在。 Galaxy运行Android 5.1.1和摩托罗拉5.1:代码如下。

private MarkerOptions getMarkerForItem(Provider pro, LatLng lctionll, float brng){
        MarkerOptions mo = new MarkerOptions();
        isMarkerAlive = true;
       mo.icon((BitmapDescriptorFactory.fromResource(R.drawable.cuteMarker)))
               .anchor(0.5f, 0.5f) //so marker rotates around the center
               .position(lctionll)
               .rotation(brng)
               .flat(true);
        return mo;
    }

有类似的question in SO,但没有关于硬件差异以及如何处理这些问题的答案。有人可以帮忙吗?

编辑---> Galaxy 有 Google Play 服务 9.2.56,摩托罗拉有 9.4.52

【问题讨论】:

  • “cuteMarker”drawable 中有什么?就像素而言,可绘制有多大?
  • 这是一个自定义可绘制对象,根据 android 图像尺寸要求,尺寸为 18 X 32 或更大。就尺寸而言,我发现它在包括摩托罗拉手机在内的所有屏幕尺寸上都是我想要的正确尺寸。正如问题中所述,它有时有效,有时对象在那里,但未在地图上绘制。
  • 您收到过什么错误吗?
  • 不是错误,但是当我调试它时标记的值为空。奇怪的是,这种情况只发生在摩托罗拉手机上。

标签: android google-maps google-maps-markers motorola-droid


【解决方案1】:

添加 .visible(true) 在摩托罗拉手机中修复了它。我将测试其他设备并根据需要更新此答案。

MarkerOptions mo = new MarkerOptions().icon((BitmapDescriptorFactory.fromResource(R.drawable.movingcab)))
                .anchor(0.5f, 0.5f) //so marker rotates around the center
                .position(lctionll)
                .rotation(brng)
                .visible(true)
                .flat(true);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-25
    • 1970-01-01
    • 2016-09-12
    • 2014-02-11
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 2019-10-29
    相关资源
    最近更新 更多