安卓百度地图给Marker点添加InfoWindow(弹窗)

首先,先看一下效果图吧。

Marker应该在添加的时候不是什么大问题,直接添加就可以。下面是添加Marker的代码。注意,我辨别Marker为了方便用的是title,大家可以用bundle来存储传值。

OverlayOptions option = new MarkerOptions()
                    .position(lspoint)
                    .animateType(MarkerOptions.MarkerAnimateType.none)
                    .title(mad + "")
                    .anchor(0.5f, 1.0f)
                    .icon(descriptor)
                    .draggable(false);//marker是否可拖拽

 这是添加最普通的Marker。下一篇博客将着重说一下覆盖物。

添加完Marker,就应该写出他的点击事件,然后在点击的时候弹出InfoWindow。废话不多说,看代码。

 mBaiduMap.setOnMarkerClickListener(new BaiduMap.OnMarkerClickListener() {
            @Override
            public boolean onMarkerClick(final Marker marker) {
                View view = View.inflate(context, R.layout.activity_map_info, null);
                TextView xiugai = view.findViewById(R.id.map_tv_xiugai);
                TextView yidong = view.findViewById(R.id.map_tv_yidong);
                TextView shanchu = view.findViewById(R.id.map_tv_shanchu);
                TextView quxiao = view.findViewById(R.id.map_tv_quxiao);
                TextView kance = view.findViewById(R.id.map_tv_kance);
                final InfoWindow mInfoWindow = new InfoWindow(view, marker.getPosition(), -47);
                mBaiduMap.showInfoWindow(mInfoWindow);
                kance.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        //关闭InfoWindow
                        mBaiduMap.hideInfoWindow();
                    }
                });
             }
 }

我在这是自己写的布局,大家可以自己任意定义。好嘞,就这样。下一篇,百度地图的所有覆盖物。

猜你喜欢

转载自blog.csdn.net/haojiagou/article/details/82383645
今日推荐