【问题标题】:Change marker in Google maps on Android在 Android 上更改 Google 地图中的标记
【发布时间】:2016-01-23 18:33:35
【问题描述】:

我正在开发一个向地图添加标记的应用程序。但是使用默认标记有些重,显示的信息不清晰。我想用一个数字添加一些小点。我怎样才能做到这一点? O 找到一些教程在标记的默认图标的放置器中添加图像,但我认为这里不是这种情况。

这是我现在使用的代码。

                    Marker marked = mMap.addMarker(new MarkerOptions()
                                    .position(ltlt)
                                    .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))
                                    .title("Numero:" + i)
                                    .snippet("Snippet")
                    );

我的代码是这样做的:

我需要这样做:

【问题讨论】:

  • 即刻,您需要创建一个包含您的点和数字的Bitmap,然后在BitmapDescriptorFactory 上使用fromBitmap()
  • 所以.. 我基本上需要一个类似 yellowDot.png + number1.png + number2.png + number3.png 的东西,当我标记把所有东西放在一起?
  • 那个,或者可能使用Bitmap-backed Canvas 来绘制文本和点。这对编程来说更复杂,但它会大大减少你需要的图像数量。
  • 我从未见过这个位图支持的画布。我会调查一下。非常感谢!
  • 感谢 CommonsWare!我找到了解决它的方法。在下面发帖。谢谢你的帮助

标签: java android google-maps marker


【解决方案1】:

这项工作对我来说:

配置图标生成器

    IconGenerator iconFactory = new IconGenerator(this);
    iconFactory.setContentPadding(0, 0, 0, 0);
    iconFactory.setBackground(Drawable.createFromPath("R.drawable.nada.jpg"));  // transparent image 10px x 10px
    iconFactory.setTextAppearance(R.style.iconGenText);

使用的样式:

<style name="iconGenText">
    <item name="android:textSize">12sp</item>
    <item name="android:textColor">#000000</item>
</style>

还有我的markeradd:

                    Marker marked = mMap.addMarker(new MarkerOptions()
                            .position(ltlt)
                            .icon(BitmapDescriptorFactory.fromBitmap(iconFactory.makeIcon("" + i)))
                            .title("Numero:" + i)
                            .snippet("Snippet")
                    );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-14
    • 2011-10-09
    • 2019-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多