Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.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中的google map V2上执行标记自定义信息窗口的单击操作_Android_Google Maps Android Api 2 - Fatal编程技术网

如何在android中的google map V2上执行标记自定义信息窗口的单击操作

如何在android中的google map V2上执行标记自定义信息窗口的单击操作,android,google-maps-android-api-2,Android,Google Maps Android Api 2,我正在我的应用程序中实现google map V2。我在marker中添加了自定义信息窗口。有三个图像:取消、删除和编辑 单击“取消图像窗口隐藏”。 删除数据编辑时删除(&O)对话框打开以进行编辑 我的问题是,如何在这些图像上执行单击操作 报价单 信息窗口将不考虑正常视图(如触摸或手势事件)的任何典型交互作用。但是您可以在整个信息窗口上收听一般的点击事件,如下所述 “信息”窗口不是实时视图,而是将视图作为图像渲染到地图上。因此,您在视图上设置的任何侦听器都将被忽略,并且您无法区分视图各个部分上

我正在我的应用程序中实现google map V2。我在marker中添加了自定义信息窗口。有三个图像:取消、删除和编辑

单击“取消图像窗口隐藏”。 删除数据编辑时删除(&O)对话框打开以进行编辑

我的问题是,如何在这些图像上执行单击操作

报价单

信息窗口将不考虑正常视图(如触摸或手势事件)的任何典型交互作用。但是您可以在整个信息窗口上收听一般的点击事件,如下所述

“信息”窗口不是实时视图,而是将视图作为图像渲染到地图上。因此,您在视图上设置的任何侦听器都将被忽略,并且您无法区分视图各个部分上的单击事件建议您不要在自定义信息窗口中放置交互式组件,如按钮、复选框或文本输入。

您可以使用
OnInfo WindowClickListener
来收听信息窗口上的单击事件。要在地图上设置此侦听器,请调用GoogleMap.setOnInfoWindowClickListener(OnInfoWindowClickListener)。当用户单击信息窗口时,将调用OnInfo WindowClick(标记),信息窗口将以默认高亮显示颜色高亮显示(Holo Blue表示运行冰淇淋三明治的设备,Holo Blue表示较新版本,橙色表示较早版本的安卓系统)


没有直接的方法,但似乎有解决办法(我还没有测试过自己)。您可能会在这个答案中看到一个很长的描述:。

尽管这是一个老问题,但我仍然认为人们对有按钮、列表等的信息窗口感兴趣

您可以查看以下库-

您基本上可以使用此库提供的管理器将自己的片段添加为信息窗口。下面是该库使用起来有多容易的一个片段。查看上面的链接了解更多信息

 final MapInfoWindowFragment mapInfoWindowFragment =
    (MapInfoWindowFragment) getSupportFragmentManager().findFragmentById(R.id.infoWindowMap);
 final InfoWindow infoWindow = new InfoWindow(marker, markerSpec, fragment);
// Shows the InfoWindow or hides it if it is already opened.
 mapInfoWindowFragment.infoWindowManager().toggle(infoWindow, true); 

是否无法对“取消”执行单击操作,删除和编辑图像?根据文档,您可以在信息窗口整体上执行单击操作,而不是在信息窗口内的组件上执行单击操作,因为信息窗口不是实时视图,而是将视图作为图像渲染到地图上。是否可以使用OverlyManager?是否可以复制此问题的解决方案?我正在拿同样的东西。