百度地图创建InfoWindow自定义View显示

最近学习使用百度地图,自己做了个可以简单搜索兴趣点,设置搜索范围,搜索关键字,定位功能的应用。在使用百度地图API时发现了问题。
我想要完成的需求是:
    在地图上长按然后弹出自定义的View,并且能与用户进行交互操作。

但在百度地图开发指南中关于弹出覆盖物就简单的一段实例,如下: 查看连接
弹出窗覆盖物

弹出窗覆盖物的实现方式如下,开发者可利用此接口,构建具有更强交互性的地图页面。
//创建InfoWindow展示的view  
Button button = new Button(getApplicationContext());  
button.setBackgroundResource(R.drawable.popup);  
//定义用于显示该InfoWindow的坐标点  
LatLng pt = new LatLng(39.86923, 116.397428);  
//创建InfoWindow , 传入 view, 地理坐标, y 轴偏移量 
InfoWindow mInfoWindow = new InfoWindow(button, pt, -47);  
//显示InfoWindow  
mBaiduMap.showInfoWindow(mInfoWindow);
下图为点击Marker弹出InfoWindow的示例图,开发者只需将InfoWindow的显示方法写在Maker的点击事件处理中即可实现该效果。
运行结果如下:



从上面简单的代码看出, InfoWindow可以显示View,但上面的实例仅仅是使用代码动态的创建了一个简单的View,但能不能从xml初始化一个自定义复杂的View呢?

在网上查阅资料发现各种答案,可能是度娘的原因,反正是没有找到有效的方法。有的解决了,但方法超复杂,不忍直视了。

自己就去查阅百度API,在InfoWindow的构造方法:

    InfoWindow

    public InfoWindow(View view,
              LatLng position,
              int yOffset)

    通过传入的 view 构造一个 InfoWindow, 此时只是利用该view生成一个Bitmap
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值