Google Maps Utils IconGenerator文字样式和背景

时间:2013-12-26 21:09:50

标签: java android google-maps-markers google-maps-android-api-2

我刚开始使用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);

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

3 个答案:

答案 0 :(得分:14)

我仍然不完全确定如何使用 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);

它可以正常工作。

答案 1 :(得分:7)

设置背景如下:

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

marker_background必须是.9.png文件。与drawables of the library一样。

对我来说非常好。

答案 2 :(得分:0)

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

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 

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