在Google Maps Android API v2中使用包含文字的地图标记

我已经提出这个post,但它是用于不赞成的Google Maps API

http://tech.truliablog.com/2012/02/23/custom-map-markers-for-android-google-maps/

在新的API中,我找不到一个简单的方法来做到这一点。 其实我根本做不到。

基本上,我想有TextViews作为一个标记在地图9Patch作为文本的背景drawable。 Trulia仍然在使用当前应用程序中的新API v2。 你可以在这里查看

Trulia目前的应用程序

我怎样才能做到这一点?

Solutions Collecting From Web of "在Google Maps Android API v2中使用包含文字的地图标记"

克里斯·布罗德福特创build了一个实用程序库。

图书馆可在这里: https : //github.com/googlemaps/android-maps-utils

另请参阅此简短video: http : //www.youtube.com/watch?v = b2X9IjjZpM

据我所知,这是目前不支持的谷歌地图api v2。 另一方面,你可以做的是dynamic地为你的标记创build位图,并且写下你想要显示的值。 唉,如果你碰巧有足够的针脚,可能很容易出现性能问题。

Canvas canvas = new Canvas(bitmap); canvas.drawText("Your text", textXOffset, textYOffset, mPictoPaint); MarkerOptions options = new MarkerOptions().position([…]).icon(BitmapDescriptorFactory.fromBitmap(bitmapResult)); Marker newMarker = map.addMarker(options); 

请注意, bitmap需要是可变的。 此外,你将不得不扩大基地的形象(可能使用9.patch)到您的需要。

它可以简单地实现使用这个由谷歌提供的有用的库。

 IconGenerator icg = new IconGenerator(this); Bitmap bm = icg.makeIcon("200 mi"); 

http://googlemaps.github.io/android-maps-utils/

https://github.com/googlemaps/android-maps-utils