今天在开发过程中,突然产品来了一句地图上面有要回到以前,再点击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 title