用户查询POI点后会在MapView中以Overlay的方式显示POI点信息 用户点击Overlay后可以显示详细信息
先看效果如图
在相应的Overlay所在的GeoPoint显示该提示
下面看实现:
首先背景为9patch图片
这样就可以随意在里面加内容了 我这里通过一个布局文件来进行控制
用了RelativeLayout的布局 对文字的宽度进行了设置,防止文字过多导致超出屏幕范围
那这里也可以根据手机屏幕宽度进行动态设置
然后再oncreate中初始化这个View
这里没有设置GeoPoint 由于气泡的尾巴是在下边居中的,因此要设置成MapView.LayoutParams.BOTTOM_CENTER.
默认是不可见的。。这里必须要设置为View.GONE 因为 View.INVISIBLE还是会在onlayout中给View定位的 这里没有设置GeoPoint就会报错
然后就可以在自己实现的ItemizedOverlay<OverlayItem> 类中的方法onTap中显示该View
其中mContext就是自己实现的MapActivity
这里根据当前点击的Overlay拿到该GeoPoint 然后设置到MapView.LayoutParams中
然后设置为可见 就会显示说明信息了。。同样点击关闭按钮就会设置为View.GONE
代码下载地址: googlemaptest.rar