高德地图自定义infowindow之点击不弹出消息框

今天在开发过程中,突然产品来了一句地图上面有要回到以前,再点击Marker的时候需要显示一个自定义的消息框,这时候,原本带着非常阳光的心情上班,结果天气预报也有不准的时候,我顿时有想搞他的心都有了(之前是他说要去掉这个消息框),但是作为码农的我们,当然没有这个能力!~!
好了,这种情况不是不存在,有些需求可能改了,但还是有返回去的时候,所以在该需求的时候,我们不要把以前的代码删掉了,保存起来(在此仅针对像我这样的小白提醒注意,大神的话?勿喷哦!)废话少说,今天就开始改了,sb的我就是把以前的代码删除了,当然那时也是愤怒的原因,宝宝心里的苦自己吞就好了,这时候有要重新写了,不一会c,v了高德上的开发指南,代码如下:
aMap.setOnMarkerClickListener(this);// 设置点击marker事件监听器
aMap.setInfoWindowAdapter(this);
这两句就是关键的,前者是设置点击事件,设置后会有相应的实现方法,后者就是他的布局器,我是这么叫,你们也不要在这纠结了,ok?后面就是在实现的方法中填充布局了:
/**
* 监听自定义infowindow窗口的infocontents事件回调
*/
@Override
public View getInfoWindow(Marker marker) {
showMarker = marker;
View infoContent = LayoutInflater.from(getContext()).inflate(
R.layout.custom_info_contents, null);
render(marker, infoContent);
return infoContent;
}

@Override
public View getInfoContents(Marker marker) {
    return null;
}

public void render(Marker marker, View view) {
TextView titleUi = (TextView) view.findViewById(R.id.title);
TextView address = (TextView) view.findViewById(R.id.address);
//Button chooseImg = (Button) view.findViewById(R.id.bt_choose);
int position = (int) marker.getObject();
titleUi.setText(“相距” +addressOfMachine.getAddressDetailList().get(position).getDis());
address.setText(addressOfMachine.getAddressDetailList().get(position).getAddress());
}
直接自信的回头,点了下run as,直接上高地,点了下marker,我擦,当场尿了,没反应;这下急了,经过小白一顿埋头苦干,终于发现了问题所在,原来在配置marker的时候,忘记配置title了,果断加上 markerOption.position(latLng).title(“”)
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED));
aMap.addMarker(markerOption).setObject(i);
卧槽,这个时候run as了一把。小白上天了,自信依旧,哈哈,请允许我自娱自乐一把(搞不了产品,还不让调节自己的情绪了?)。
该篇博文有点废话,大家抽点自己觉得可以的收下把。。。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值