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