我真不敢相信没有简单的方法来做这么基本的事情...我想要显示一个弹出/气球(一个LinearLayout)后,用户点击地图标记(一些笑脸是什么在谷歌地图应用程序)。当用户滚动地图时,它应该随着地图移动。做这件事最好的方法是什么?
一个想法是将LinearLayout放在我的活动的根布局中,并在需要时显示它。但是如何让它随着地图移动呢?
另一种方法可能是创建一个覆盖图,它在onDraw中绘制LinearLayout并提供布局触摸事件。这个是可能的吗?
发布于 2010-09-30 18:06:35
我这样做的方式是:
将标记放在required GeoPoints处,方法是创建ItemizedOverlay的子类,如http://developer.android.com/guide/tutorials/views/hello-mapview.html中所述
通过从布局充气来创建弹出视图:
View popUp = getLayoutInflater().inflate(R.layout.map_popup, map, false);使用MapView.LayoutParams在ItemizedOverlay< OverlayItem >::onTap方法中定位与GeoPoint相关的弹出式窗口。弹出将自动滚动(没有任何额外的代码),当用户滚动地图。基本上,popup被绑定到一个GeoPoint,如果用户缩放,popup的位置会自动调整。
MapView map = (MapView) findViewById(R.id.mapview);
MapView.LayoutParams mapParams = new MapView.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
<geopoint>,
<x offset if required>,
<y offset like pinHeight>,
MapView.LayoutParams.BOTTOM_CENTER);
map.addView(popUp, mapParams);发布于 2010-10-07 17:47:26
https://stackoverflow.com/questions/3707923
复制相似问题