关于百度地图InfoWindow响应自定义布局点击事件

大概讲解:

在百度地图上显示一个marker,当marker被点击后,显示自定义的View.当自定义的View被点击后,响应不同Button的点击事件。被百度这个infowindo里面的view坑惨了,一直以为不能点击呢??原来里面的view可以点击也可以被响应!!

先看效果图:

image 

备注:点击详情(进入此任务详情、点击导航进入百度导航)

代码如下: 
baiduMap.setOnMarkerClickListener(new BaiduMap.OnMarkerClickListener() {
            @Override
            public boolean onMarkerClick(Marker marker) {
                LatLng latLng =marker.getPosition();
                InfoWindow currentInfoWindow = new InfoWindow(getInfoWindoView(marker,taskJson),latLng, -77);
                baiduMap.showInfoWindow(currentInfoWindow);
                return true;
            }
        });

 

那么Infowindow的自定义View在哪里呢?

private View  getInfoWindoView(final Marker marker,final  JsonObject taskJson){
        if (null == infoView) {
            infoView = (ViewGroup) LayoutInflater.from(assignmentsActivity).inflate(R.layout.balloon_overlay, null);
        }
        tvTitle = (TextView) infoView.findViewById(R.id.balloon_item_title);
        tvDetailLocation = (TextView) infoView.findViewById(R.id.balloon_item_snippet);
        layout_taskInfo = (LinearLayout) infoView.findViewById(R.id.layout_taskInfo);
        iv_navigation = (ImageView) infoView.findViewById(R.id.iv_navigation);

        tvTitle.setText(marker.getExtraInfo().getString("title"));
        tvDetailLocation.setText(marker.getExtraInfo().getString("subject"));

        layout_taskInfo.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Common.switchToTaskDetail(assignmentsActivity, taskJson);
            }
        });
        iv_navigation.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                viewInMapApp(marker.getPosition().latitude, marker.getPosition().longitude);
            }
        });
        return  infoView;
    }
 Infowindow在初始化的时候一定要这样 才可以响应单独的点击事件。
InfoWindow currentInfoWindow = new InfoWindow(getInfoWindoView(marker,taskJson),latLng, -77);
Technorati 标签: 百度地图, android百度

转载于:https://www.cnblogs.com/lixiaodaoaaa/p/4503810.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值