8

我已经想出了这个职位,但它是不推荐使用的谷歌地图API与谷歌地图的Android API v2的文本地图标记

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

在新的API,我无法找到一个简单的方法去做这个。事实上,我根本无法做到。

基本上,我想在文本的背景上绘制9Patch作为地图上的TextViews作为标记。 Trulia仍然在使用当前应用程序中的新API v2进行操作。你可以在这里

Trulia current app

我该怎么做检查吗?

+2

可以使用信息窗口。 https://developers.google.com/maps/documentation/android/marker – Raghunandan

+1

你看过上面的图片吗?小标记似乎是你的信息窗口吗? – tasomaniac

+0

它看起来像我的信息窗口。如果不是你在找什么。?你是否也检查过发布的链接? – Raghunandan

回答

3

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

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)到您的需要。

+0

我试图做几个小时这样的事情。我已经这样做了,但我无法将9Patch绘制到背景中。 – tasomaniac

+0

会[此](http://stackoverflow.com/a/6828754/900937)帮助吗?虽然这可能不是可变的,所以可能要做一些额外的处理。 – Nerkatel

+0

确定这个链接也很有帮助,但这里有x和y的变量。在绘制9patch drawable之前,我不知道实际文本的高度。我怎样才能使用最后一个链接中的代码并使用drawText()? – tasomaniac