Google Maps API v2:如何使标记可点击? [英] Google Maps API v2: How to make markers clickable?

查看:33
本文介绍了Google Maps API v2:如何使标记可点击?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使 Android Google Maps API v2 中的标记变为可点击状态,以便它们显示带有选项的菜单或开始一项新活动?我相信我目前在我的应用程序中使用newb"方法制作了标记.我没有为它们分配名称或方法,以便能够将其与所需代码的其余部分链接起来.

googleMap.addMarker(new MarkerOptions().position(latLng).title("我的位置").snippet("这是我的位置!").icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));

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

解决方案

Google Android Maps Api v2 中的所有标记都是可点击的.您无需为标记设置任何其他属性.您需要做的是将标记点击回调注册到您的 googleMap 并在回调中处理点击:

 公共类 MarkerDemoActivity 扩展 android.support.v4.app.FragmentActivity实现 OnMarkerClickListener{私人标记 myMarker;私有无效 setUpMap(){......googleMap.setOnMarkerClickListener(this);myMarker = googleMap.addMarker(new MarkerOptions().position(latLng).title("我的位置").snippet("这是我的位置!").icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));......}@覆盖公共布尔 onMarkerClick(最终标记标记){如果(marker.equals(myMarker)){//处理点击这里}}}

这里有一个很好的关于标记自定义的谷歌指南>

How to I make the markers in Android Google Maps API v2 become clickable so they will either bring up a menu with options or just start a new activity? I believe I made the markers in my app currently in a "newb" method. I didn't assign them a name or a method to be able to link it in with the rest of the required code.

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

If you ANSWER this, please include a sample code of a marker being introduced with a unique name and then being set as clickable to open a new activity.

解决方案

All markers in Google Android Maps Api v2 are clickable. You don't need to set any additional properties to your marker. What you need to do - is to register marker click callback to your googleMap and handle click within callback:

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
        }
    }
}

here is a good guide on google about marker customization

这篇关于Google Maps API v2:如何使标记可点击?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆