高德地图添加覆盖物监听函数

本文介绍了解决高德地图SDK中为标记点添加点击监听事件的问题过程。从最初尝试直接使用this作为监听器导致的编译错误,到通过new关键字创建监听器实例并实现onMarkerClick方法来成功解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

A.为高德地图添加覆盖物,然后为其添加监听事件,demo源码中的设置监听事件的代码是这么写的:

<span style="font-size:18px;"><strong>aMap.setOnMarkerClickListener(this);然后地下还配了一个关于监听的函数onMarkerClick();</strong></span>

B.但是编译器报错,编译器修改意见是这么修改的:

<span style="font-size:18px;"><strong>aMap.setOnMarkerClickListener((OnMarkerClickListener) this);</strong></span>

C.编译运行之后程序崩溃,错误代码如下:

D.发现就是那句错了,于是我就自己想了个办法,

E.aMap.setOnMarkerClickListener((OnMarkerClickListener) this);反正也是将this改成了OnMarkerClickListener类型的数据,我何不就new一个OnMarkerClickListener呢?

F.于是我将代码改成

<span style="font-size:18px;"><strong>aMap.setOnMarkerClickListener(new OnMarkerClickListener(){
}</strong></span>

G.编译器自动就弹出应该重写onMarkerClick()方法,我就把demo中的原方法内容加入到onMarkerClick中便是:

<span style="font-size:18px;"><strong>aMap.setOnMarkerClickListener(new OnMarkerClickListener(){
			@Override
			public boolean onMarkerClick(final Marker marker) {
				if (marker.equals(markerA)) {
					Intent intent = new Intent();
					intent.setClass(MainActivity.this, MarkerA.class);
					startActivity(intent);
				}
				return false;
			}</strong></span>

大功告成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值