如何以编程方式在GoogleMaps上选择标记

问题描述 投票:0回答:3

正确的是,当我按下一个按钮时,它会加载GoogleMaps,制作一个标记并显示一个自定义信息窗口。

MarkerOptions markerOptions = new MarkerOptions();
//etc.
mMap.addMarker(markerOptions).showInfoWindow();

我希望标记处于被点击的状态而用户实际上没有自己点击它,程序应该为他做这个我想要的原因是当选择标记时(现在通过手动用户点击)它是否也显示两个图标。一个做一个路线,另一个直接去与这些coords googlemaps。

我怎样才能实现这一点,除了显示infoWindow之外,它还会选择标记?

android google-maps google-maps-markers google-maps-android-api-2
3个回答
0
投票

您应该在地图或地图片段上实现GoogleMap.OnMapClickListener

在Click Click侦听器中,在地图上单击的位置添加新标记

这样你就可以解决你的问题


0
投票
    GMAP.addMarker(new MarkerOptions()
            .position(new LatLng(myMarker.latitude, myMarker.longitude))
            .title("My Marker"));
    GMAP.setOnMarkerClickListener(new OnMarkerClickListener() {
        public boolean onMarkerClick(Marker marker) {
            Log.d("TAG", "Marker was clicked");
            return true;
        }
    });

0
投票

您真正想要的是一个悬停信息窗口,除了选择标记时出现的悬停信息窗口外,它始终存在。对?标记为“双选”是获得两个悬停窗口的方式。只是,您不能双重选择标记。如果已选中,则再次选择它不会执行任何操作。

这是因为所有选择标记都会显示信息窗口,根据信息窗口文档,这是不可能的。 Only one info window is displayed at a time

我无法告诉你如何做你想做的事(因为它无法完成)。但这里有一个你可以做的选择。实现带有两个子视图的custom info window interface,一个始终可见,一个在用户单击标记之前“消失”。

以编程方式显示信息窗口(就像你已经在使用.showInfoWindow()一样),然后使用mMap.setOnMarkerClickListener()设置一个函数,指示自定义infoWindow将第二个视图从“消失”切换为“可见”。

祝你好运,编码愉快!

© www.soinside.com 2019 - 2024. All rights reserved.