Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在MapView中的地图标记上方显示弹出窗口_Android_Google Maps - Fatal编程技术网

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

Android 在MapView中的地图标记上方显示弹出窗口,android,google-maps,Android,Google Maps,我真不敢相信没有简单的方法可以做这样一件基本的事情。。。我想在用户点击地图标记后显示一个弹出窗口/阳台(一个线性布局)(类似于谷歌地图应用程序中的东西)。当用户滚动地图时,它应该随地图移动。最好的方法是什么 一个想法是在我的活动的根布局中使用LinearLayout,并在需要时显示它。但是如何让它随着地图移动呢 另一种方法是创建一个覆盖,在onDraw中绘制线性布局并给出布局触摸事件。这可能吗?我的做法是: 如中所述,通过子类化ItemizeOverlay将标记放置在所需的地质点处 通过从布局中

我真不敢相信没有简单的方法可以做这样一件基本的事情。。。我想在用户点击地图标记后显示一个弹出窗口/阳台(一个线性布局)(类似于谷歌地图应用程序中的东西)。当用户滚动地图时,它应该随地图移动。最好的方法是什么

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

另一种方法是创建一个覆盖,在onDraw中绘制线性布局并给出布局触摸事件。这可能吗?

我的做法是:

如中所述,通过子类化ItemizeOverlay将标记放置在所需的地质点处

通过从布局中展开来创建弹出视图:

View popUp = getLayoutInflater().inflate(R.layout.map_popup, map, false);
使用MapView.LayoutParams在ItemizedOverlay::onTap方法中相对于地质点定位弹出窗口。当用户滚动地图时,弹出窗口将自动滚动(无任何附加代码)。基本上,popup绑定到一个地理点,如果用户缩放,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);
MapView地图=(MapView)findViewById(R.id.MapView);
MapView.LayoutParams mapParams=新建MapView.LayoutParams(ViewGroup.LayoutParams.WRAP_内容,
ViewGroup.LayoutParams.WRAP_内容,
,
,
,
地图视图。布局参数。底部(中间);
map.addView(弹出窗口,mapParams);
这是“缺少的小部件”…

  • 不带图标的引出序号:

  • 带有图标的引出序号(扩展) 吉尔费尔特的项目):


不理想的解决方案(我正在使用)是将弹出窗口放在地图上方的根RelativeLayout中,并在用户滚动地图时更改其位置。这并不理想,因为弹出窗口的移动速度与地图的移动速度不一样——当我移动地图时,它有点落后于地图。当我有时间时,我会尝试在自定义覆盖中手动绘制弹出式布局。你使用的是Kiran的解决方案吗?你的解决方案听起来就像是一个解决方案。我还考虑在第一个标记的正上方创建一个辅助标记。但我越想,我就越意识到这样做并不是件好事。顺便说一句,我们在这里讨论的是同一个问题:我们可以在某个时候合并我们的问题。这不是一个简单的问题。。?我使用的是API级别8,这就是问题所在…?当我添加弹出视图时,什么都没有发生。没有出现吗?你遇到过这个吗?想出来了!记住,孩子们,总是在弹出视图的顶部视图组中放置另一个视图!因为该视图组(需要将内容放入其中的根视图组)将从mapParams获取layoutparams。也许有一天,这条评论会对某人有所帮助。@OneManMobile如果我理解了,也许这条评论会对我有所帮助。也许你可以看看我的,告诉我在弹出视图的顶视图组中的另一个视图是什么?