我一直在寻找有关实现 OnMarkerClickListener 的帮助,但我发现没有任何效果。这是我在下面的标记,点击后它只会改变颜色(浅蓝色)。我正在寻找它以打开一个更大的窗口,以便我可以输入更多信息。这可能吗?
googlemap.addMarker(new MarkerOptions()
.position(new LatLng(49.378,-0.3904))
.title("Hello World")
.snippet("This is my test app")
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE)));
标记在我的 map 上运行良好,但现在我想单击标记并打开一个新的 Activity/页面或更大的窗口,这更容易使用。由于我是一个真正的应用程序新手,如果有人成功获得了一个工作示例,请您提供链接或一些代码。
提前致谢!
编辑:
根据建议的教程,我更改了一些 MainActivity.java。
我已在 OnMarkerClickListener 中添加,并选择将未实现的方法添加到公共(public)类
public class MainActivity extends Activity implements LocationListener, OnMarkerClickListener {
在 private void setUpMap() 下面我已经添加到我的代码中:private Marker myMarker、setonMarkerclick 监听器和 myMarker =,:
private Marker myMarker;
{
googlemap.setOnMarkerClickListener(this);
myMarker = googlemap.addMarker(new MarkerOptions()
.position(new LatLng(LatLng))
.title("Hello World")
.snippet("My First App")
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE)));
}
在底部未实现的方法中,我有:
@Override
public boolean onMarkerClick(Marker arg0) {
// TODO Auto-generated method stub
return false;
我需要在公共(public) Boolean OnMarkerClick 部分中进行哪些更改? 我没有收到任何错误,但它只是不起作用。我还需要添加或更改什么?
感谢任何帮助!
最佳答案
标记点击事件
Don't snap to marker after click in android map v2
引用上面的帖子
您可以使用 OnMarkerClickListener
来监听标记上的点击事件。要在 map 上设置此监听器,请调用 GoogleMap.setOnMarkerClickListener(OnMarkerClickListener)。当用户单击标记时,将调用 onMarkerClick(Marker) 并将标记作为参数传递。此方法返回一个 bool 值,指示您是否已使用该事件(即,您想要抑制默认行为)。如果它返回 false,那么除了您的自定义行为之外,还将发生默认行为。标记单击事件的默认行为是显示其信息窗口(如果可用)并移动相机以使标记位于 map 的中心。
在标记上使用 OnMarkerClickListener。
检查代码 fragment 的链接
Google Maps API v2: How to make markers clickable?
示例:在我的手机上工作
Marker source, destination; GoogleMap mMap; mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap(); source = mMap.addMarker(new MarkerOptions() .position(sc) .title("MyHome") .snippet("Bangalore") .icon(BitmapDescriptorFactory.fromResource(R.drawable.pin))); destination = mMap.addMarker(new MarkerOptions() .position(lng) .title("MapleBear Head Office") .snippet("Jayanager") .icon(BitmapDescriptorFactory.fromResource(R.drawable.pin))); mMap.setOnMarkerClickListener(marker -> { if (marker.getTitle().equals("MyHome")) // if marker source is clicked Toast.makeText(MainActivity.this, marker.getTitle(), Toast.LENGTH_SHORT).show();// display toast return true; });
关于Android Google Map - 单击标记打开新 Activity 或更大的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16635530/