正确的是,当我按下一个按钮时,它会加载GoogleMaps,制作一个标记并显示一个自定义信息窗口。
MarkerOptions markerOptions = new MarkerOptions();
//etc.
mMap.addMarker(markerOptions).showInfoWindow();
我希望标记处于被点击的状态而用户实际上没有自己点击它,程序应该为他做这个我想要的原因是当选择标记时(现在通过手动用户点击)它是否也显示两个图标。一个做一个路线,另一个直接去与这些coords googlemaps。
我怎样才能实现这一点,除了显示infoWindow之外,它还会选择标记?
您应该在地图或地图片段上实现GoogleMap.OnMapClickListener
在Click Click侦听器中,在地图上单击的位置添加新标记
这样你就可以解决你的问题
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;
}
});
您真正想要的是一个悬停信息窗口,除了选择标记时出现的悬停信息窗口外,它始终存在。对?标记为“双选”是获得两个悬停窗口的方式。只是,您不能双重选择标记。如果已选中,则再次选择它不会执行任何操作。
这是因为所有选择标记都会显示信息窗口,根据信息窗口文档,这是不可能的。 Only one info window is displayed at a time。
我无法告诉你如何做你想做的事(因为它无法完成)。但这里有一个你可以做的选择。实现带有两个子视图的custom info window interface,一个始终可见,一个在用户单击标记之前“消失”。
以编程方式显示信息窗口(就像你已经在使用.showInfoWindow()
一样),然后使用mMap.setOnMarkerClickListener()
设置一个函数,指示自定义infoWindow将第二个视图从“消失”切换为“可见”。
祝你好运,编码愉快!