如何在地图引脚图像上设置索引号

我正在制作一个地图应用程序,其中我有20个餐厅数据,并且我想使用覆盖图钉显示地图中的所有餐厅。现在,我的实际问题是我想在每个引脚上显示索引编号(例如,如果有20针,所有的销都应该与索引号1,2,3代表餐厅没有从列表中)。 任何人都可以告诉我,我怎么能把索引号放在单个图像上?我想用同一个图像进行重叠


这是我后来在我的项目中发现的一个事实: MapView实际上是一个ViewGroup (这里也提到过)。 因此,您可以创建一个按钮(或者一个textview,或者一些嵌套的布局,或者任何想要在地图上显示的任何东西),为其分配一个MapView.LayoutParams实例,然后添加它,而不是使用某种复杂的Overlay和附加drawables到MapView

在代码中:

// Create the overlay pin
View overlayPin = getLayoutInflater().inflate(R.layout.overlay_pin, null);
// Number it according to your question, e.g.
((TextView)(overlayPin.findViewById(R.id.overlay_text))).setText("1"); 

假设您想要将地址放置在地理坐标-60,30上。

// Set a layout params to the pin.
overlayPin.setLayoutParams(new MapView.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, new GeoPoint(-60000000, 30000000), MapView.LayoutParams.BOTTOM_CENTER);
// Add the pin to the map
mapView.addView(overlayPin);

通过这种方式,您可以只有一个针对背景的图形资源,并使用TextView进行编号。


您需要扩展drawable类并重写onDraw方法。 在这一点上,你可以使用canvas.drawText来写你的编号。

链接地址: http://www.djcxy.com/p/8739.html

上一篇: How to set index number on map pin image

下一篇: Android post to facebook wall, stream.publish broken since few days