Google Maps Utils IconGenerator文本样式和背景

问题描述 投票:9回答:3

我刚刚开始使用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用于设置自定义标记背景,但是我也不知道如何使用它。

java android google-maps-markers google-maps-android-api-2
3个回答
17
投票
我仍然不确定如何使用

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);

它应该工作。

7
投票
像这样设置背景:

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

marker_background必须是.9.png文件。像drawables of the library

对我来说很好用。


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
© www.soinside.com 2019 - 2024. All rights reserved.