百度lbs POI搜索 infowindow弹出附近站点
2014-12-03 14:19
295 查看
现在是这么个需求:需要定位搜索附近1000米公交站点,点击搜索出来的poioverlay,显示出的infowindow上有车站和该车站的所有公交车信息。
照搬demo做:先做POI搜索功能,点击poioverlay弹出公交站点及公交信息(toast.maketext)没有难点,
现在想点击时弹出infowindow,然后点击infowindow时能够响应点击事件,并且infowindow消失。
过程非常曲折,最后代码如下:
中间还有这么个小曲折,点击infowindow不响应点击事件,后来发现是只要是infowindow偏移了(偏移了60dip),就不触发点击事件。
后来用上面的代码解决了,先用projection将地理坐标转换成屏幕坐标,然后向上偏移60dip,然后再装换成地理坐标,标在地图上即可。
照搬demo做:先做POI搜索功能,点击poioverlay弹出公交站点及公交信息(toast.maketext)没有难点,
现在想点击时弹出infowindow,然后点击infowindow时能够响应点击事件,并且infowindow消失。
过程非常曲折,最后代码如下:
PoiInfo poiInfo; LatLng infoll; Projection pj; Point pp;
@Override public boolean onPoiClick(int index) { /*super.onPoiClick(index); PoiInfo poi = getPoiResult().getAllPoi().get(index); mPoiSearch.searchPoiDetail((new PoiDetailSearchOption()) .poiUid(poi.uid)); return true;*/ poiInfo = getPoiResult().getAllPoi().get(index); Button btn = new Button(getApplicationContext()); btn.setBackgroundColor(Color.GREEN); btn.setText(poiInfo.name + ";" + poiInfo.address); // btn 变成 View 图片 BitmapDescriptor descriptor = BitmapDescriptorFactory .fromView(btn); /** * 弹窗的点击事件: * bd - InfoWindow 展示的bitmap position - InfoWindow 显示的地理位置 * yOffset - InfoWindow Y 轴偏移量 listener - InfoWindow 点击监听者 * */ infoll = new LatLng(poiInfo.location.latitude, poiInfo.location.longitude); pj = mBaiduMap.getProjection(); pp = pj.toScreenLocation(infoll); infoll = pj.fromScreenLocation(new Point(pp.x, pp.y-60)); InfoWindow infoWindow = new InfoWindow( descriptor, infoll, 0,//原来默认是-60,偏移过就不能触发点击事件,所以在上面直接用projection偏移 new OnInfoWindowClickListener() { @Override public void onInfoWindowClick() { Toast.makeText(getApplicationContext(), "消失的节奏", Toast.LENGTH_LONG).show(); // 1 隐藏 弹窗! mBaiduMap.hideInfoWindow(); } }); // 2 show infoWindow mBaiduMap.showInfoWindow(infoWindow); return super.onPoiClick(index); }
中间还有这么个小曲折,点击infowindow不响应点击事件,后来发现是只要是infowindow偏移了(偏移了60dip),就不触发点击事件。
后来用上面的代码解决了,先用projection将地理坐标转换成屏幕坐标,然后向上偏移60dip,然后再装换成地理坐标,标在地图上即可。
相关文章推荐
- 仿百度外卖3_7_1百度地图拖动定位,显示附近地址poi提示搜索
- 仿百度外卖3_7_1百度地图拖动定位,显示附近地址poi提示搜索
- 百度搜索附近加盟店等基于LBS云搜索功能的实现
- APP搜索附近功能的一种解决方案-基于百度LBS云服务
- [LBS][百度api][POI]修改查找个数与翻页
- 【LBS】基于地理位置的搜索之微信 附近的人 简单实现
- 基于LBS的地理位置附近的搜索以及由近及远的排序(MYSQL)
- 我N的博客的搜素功能好垃圾,百度的站点搜索功能同样垃圾
- 百度LBS搜索部诚聘PHP、前端研发工程师
- 【LBS】基于地理位置的搜索之微信 附近的人 简单实现
- 如何将百度搜索嵌入到站点中!
- Android百度地图(地位和POI附近搜索)-仿微信、QQ地理位置的分享
- 【LBS】基于地理位置的搜索之微信 附近的人 简单实现
- [置顶] 利用高德地图关键字检索POI-实现仿微信发朋友圈搜索附近位置
- Android使用百度LBS SDK(三)点击地图POI导航
- 【LBS】基于地理位置的搜索之微信 附近的人 简单实现
- android POI搜索,附近搜索,周边搜索定位介绍
- 安卓百度地图附近poi搜索以及到指定poi的换乘方案
- 浅谈asp.net通过本机cookie仿百度(google)实现搜索input框自己主动弹出搜索提示
- 百度POI实现周边搜索及公交路线查询