轻触谷歌地图标记的Andr​​oid监听器 [英] Touch listener on Google Map Markers Android

查看:170
本文介绍了轻触谷歌地图标记的Andr​​oid监听器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何添加一个选项卡/触摸上的标记我有我的谷歌地图在Android程序/点击监听器。例如下面的图片中我有一个标记在谷歌地图和点击时,我想提出举杯说这句话已被点击

http://i.stack.imgur.com/Bc7Lp.png

我曾尝试 onMapClickListener 但是,这并不正常工作。

  map.setOnMapClickListener(新GoogleMap.OnMapClickListener(){    @覆盖
    公共无效onMapClick(经纬度点){    }
  }


解决方案

在谷歌Android地图API V2所有标记可点击。你不需要设置任何附加属性的标记。你需要做的是什么 - 是标记点击回调注册到的GoogleMap和处理单击回调中:

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

}

How can I add a Tab/Touch/Click listener on the Markers I have on my Google Map in android program. For example in the below image I have one marker on google maps and when clicked, I want to bring up a toast saying this has been clicked

http://i.stack.imgur.com/Bc7Lp.png

I have tried onMapClickListener but that does not work.

map.setOnMapClickListener(new GoogleMap.OnMapClickListener() {

    @Override
    public void onMapClick(LatLng point) {

    }
  }

解决方案

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

}

这篇关于轻触谷歌地图标记的Andr​​oid监听器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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