Reputation: 1271
I created a customMarker that in addition to the image contains a label at the bottom with a name. If I create a "FolderOverlay" everything works correctly I see my custom Marker.
This is my customMarker
class MarkerWithLabel(mapView: MapView?, val label: String) : Marker(mapView) {
val textPaint = Paint()
init {
with(textPaint){
color = Color.BLACK
textSize = 35f
isAntiAlias = true
typeface = Typeface.DEFAULT_BOLD
textAlign = Paint.Align.CENTER
}
}
override fun draw(c: Canvas, osmv: MapView?, shadow: Boolean) {
draw(c, osmv)
}
fun draw(c: Canvas, osmv: MapView?) {
super.draw(c, osmv, false)
val p: Point = mPositionPixels // already provisioned by Marker
c.drawText(label, p.x.toFloat(), (p.y + 30).toFloat(), textPaint)
}
}
Creating a "RadiusMarkerClusterer" on the other hand does not show the label below the CustomMarker. Actually it seems that osmBonuspack does not use my CustomMarker but the normal Marker.
I say this because it does not override the draw method of my CustomMarker.
How can I solve this?
Upvotes: 0
Views: 142
Reputation: 3450
In MarkerClusterer.java, drawing piece code is as follow:
for (StaticCluster cluster:mClusters){
cluster.getMarker().draw(canvas, mapView.getProjection());
As you can see, the method called is: public void draw(Canvas canvas, Projection pj)
So you should try to override this method.
Upvotes: 0