如何让Android Google Maps APIv2中的标记变得可点击,这样它们要么会弹出一个带有选项的菜单,要么就开始一个新的活动?我相信我在我的应用程序中使用的是一种"新的"方法.我没有给他们指定一个名称或方法来将其链接到所需代码的睡觉中.

googleMap.addMarker(new MarkerOptions()
        .position(latLng)
        .title("My Spot")
        .snippet("This is my spot!")
        .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));

如果您回答了这个问题,请提供一个带有唯一名称的标记的示例代码,然后将其设置为可点击以打开新活动.

推荐答案

谷歌安卓 map Api v2中的所有标记都可以点击.不需要为标记设置任何其他属性.

public class MarkerDemoActivity extends android.support.v4.app.FragmentActivity
    implements OnMarkerClickListener
{
    private Marker myMarker;    

    private void setUpMap()
    {
        .......
        googleMap.setOnMarkerClickListener(this);

        myMarker = googleMap.addMarker(new MarkerOptions()
                    .position(latLng)
                    .title("My Spot")
                    .snippet("This is my spot!")
                    .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));
        ......
    }

    @Override
    public boolean onMarkerClick(final Marker marker) {

        if (marker.equals(myMarker)) 
        {
            //handle click here
        }
    }
}

这是一个很好的guide on google about marker customization

Android相关问答推荐

Android配置设置. gradle不同应用风格

如何检测HitTest是否命中给定的网格对象?

如何在Jetpack Compose中使用Box Composable来实现这种布局?

避免在按下肯定按钮时自动取消AlertDialog

StateFlow和LazyColumn重组

Play Google上发布的一款应用的房间数据库迁移

没有打开历史记录的活动意向 Select 器完成调用活动

使用 List 和 LazyColumn 重新组合所有项目

在java android studio项目上安装mapbox

列表更改时,RecyclerView 中的列表不会更新

如何从包装在泛型中的 retrofit 调用中检索密钥?

状态更改后 colored颜色 未正确更改

在 theme.xml 中使用 android:autoCompleteTextViewStyle

Jetpack Compose Arc 进度条动画(如何重启动画)

如何在 BottomBar jetpack compose 中删除选定的椭圆项目 colored颜色

状态值更改时屏幕未重新组合 - Jetpack Compose

Android Jetpack Compose - 每次文本字段值更改时,可组合函数都会重新组合

更新后 Firebase 服务无法在模拟器上运行

在 Jetpack Compose 中找不到 Path 的减号()

如何在 flow.stateIn() 之后从流中的另一个函数发出emits ?