首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MapView中的地图标记上方显示弹出窗口

问在MapView中的地图标记上方显示弹出窗口
EN

Stack Overflow用户
提问于 2010-09-14 18:13:23
回答 2查看 26.8K关注 0票数 22

我真不敢相信没有简单的方法来做这么基本的事情...我想要显示一个弹出/气球(一个LinearLayout)后,用户点击地图标记(一些笑脸是什么在谷歌地图应用程序)。当用户滚动地图时,它应该随着地图移动。做这件事最好的方法是什么?

一个想法是将LinearLayout放在我的活动的根布局中,并在需要时显示它。但是如何让它随着地图移动呢?

另一种方法可能是创建一个覆盖图,它在onDraw中绘制LinearLayout并提供布局触摸事件。这个是可能的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-30 18:06:35

我这样做的方式是:

将标记放在required GeoPoints处,方法是创建ItemizedOverlay的子类,如http://developer.android.com/guide/tutorials/views/hello-mapview.html中所述

通过从布局充气来创建弹出视图:

代码语言:javascript
复制
View popUp = getLayoutInflater().inflate(R.layout.map_popup, map, false);

使用MapView.LayoutParams在ItemizedOverlay< OverlayItem >::onTap方法中定位与GeoPoint相关的弹出式窗口。弹出将自动滚动(没有任何额外的代码),当用户滚动地图。基本上,popup被绑定到一个GeoPoint,如果用户缩放,popup的位置会自动调整。

代码语言:javascript
复制
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);
票数 46
EN

Stack Overflow用户

发布于 2010-10-07 17:47:26

这里的是“失踪的小工具”...

不带图标的

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3707923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档