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