谷歌地图实用图标生成器文本样式和背景



我刚刚开始使用Google Maps Utils库,这样我就可以在其中使用带有文本的标记。到目前为止,我了解该库,并且正在成功使用它。代码片段:

IconGenerator icnGenerator = new IconGenerator(this);
Bitmap iconBitmap = icnGenerator.makeIcon(item.placeItemName);
    myPlaceItemMarkers.add(mMap.addMarker(new MarkerOptions().position(new LatLng(item.latitude, item.longitude))
                .icon(BitmapDescriptorFactory.fromBitmap(iconBitmap)).anchor(0.5f, 0.6f)));

现在我开始稍微尝试一下窗口样式,有两个功能让我特别感兴趣:

icnGenerator.setBackground(Drawable background);
icnGenerator.setTextAppearance(int resid);

我查找了有关文档的信息,只有BubbleIconFactory的信息已弃用。有人可以告诉我如何使用这两个功能吗?我知道setTextAppearance用于更改文本样式,但是我该怎么做?如果我没记错的话,setBackground 用于设置自定义标记背景,但我也不知道如何使用它。

我仍然不完全确定如何使用setBackground(),因为我尝试使用Drawables,但它不起作用,但我想出了如何使用setTextAppearance()。

我刚刚做了一个新样式:

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

然后将其应用于IconGenerator:

IconGenerator icnGenerator = new IconGenerator(this);
icnGenerator.setTextAppearance(R.style.iconGenText);

它按预期工作。

像这样设置背景:

IconGenerator icnGenerator = new IconGenerator(this);
icnGenerator.setBackground(getResources().getDrawable(R.drawable.marker_background));

marker_background必须是 .9.png 的文件。就像图书馆的可绘制对象一样。

它对我来说效果很好。

如果您只是想更改默认标记样式而不花哨,则可以这样做。

icnGenerator.setStyle(IconGenerator.STYLE_BLUE)

目前有 7 种基本样式可供选择:

IconGenerator.STYLE_BLUE 
IconGenerator.STYLE_DEFAULT 
IconGenerator.STYLE_GREEN 
IconGenerator.STYLE_ORANGE 
IconGenerator.STYLE_PURPLE 
IconGenerator.STYLE_RED 
IconGenerator.STYLE_WHITE 

文档:https://www.javadoc.io/doc/com.google.maps.android/android-maps-utils/latest/com/google/maps/android/ui/IconGenerator.html

最新更新