Android 地图:如何使用 SVG 文件自定义标记图标?

Posted

技术标签:

【中文标题】Android 地图:如何使用 SVG 文件自定义标记图标?【英文标题】:Android Map : How to cutomize Marker icon with SVG file? 【发布时间】:2020-06-08 03:48:02 【问题描述】:

我有一个 SGV 图标 (.svg),我想将其用作地图标记的自定义图标。

我应该如何进行?我没有找到关于这个主题的任何内容。

【问题讨论】:

您可能首先需要从 SVG 文件 as instructed in android documentation 创建一个“矢量资源”。 【参考方案1】:

如果 SVG 是您资源的一部分,您可以通过调用将其添加到 MarkerOptions

val svgIcon = BitmapDescriptorFactory.fromResource(R.drawable.your_svg_name_here)
val marker = MarkerOptions().position(LatLng(latitude, longitude)).icon(svgIcon)
googleMap?.addMarker(marker)

如果它不在您的资源中,请使用BitmapDescriptorFactory 的另一种方法。

【讨论】:

我确实做到了,但它不被识别为可绘制文件夹的有效文件扩展名(仅接受 .png 或 .xml) 您可以将 svg 作为 XML-drawable 导入(只需右键单击 resurces 文件夹并添加新的矢量资源)

以上是关于Android 地图:如何使用 SVG 文件自定义标记图标?的主要内容,如果未能解决你的问题,请参考以下文章

SVG 详解——自定义可点击的中国地图

SVG 详解——自定义可点击的中国地图

如何在 Android 中显示自定义地图?

html SVG自定义地图

使用svgdeveloper 和 svg-edit 绘制svg地图

android开发 百度地图3.0以上版本,如何显示自定义标记图标?