Android百度地图开发POI(三)

本文介绍了在Android中使用百度地图进行POI搜索的步骤,包括地图初始化、定义图层、设置搜索方式、添加图层、处理POI监听事件、初始化搜索服务类以及图层的显示和清除。此外,还探讨了如何区分不同类型的搜索结果,提供了两种解决方案。
摘要由CSDN通过智能技术生成

我们经常需要在地图上显示一些特别的东西,比如一些服务如银行,KFG,学校等等,这样就需要使用POI搜索,基本上的步骤如下


0.所需要的变量

    //POI搜索
    private MyPoiOverlay mTrafficOverLay;// 交通图层
    private MyPoiOverlay mSchoolOverLay;// 学校图层
    private MyPoiOverlay mLiveOverLay;// 生活图层
    private PoiSearch mPoiSearch;//搜索服务
    private float latitude = 31.1803029f;
    private float longitude = 121.4864084f;

图层可以定义N多,只要你能够放下就OK!

1.地图初始化工作

在异步线程中初始化好百度地图,initBaiduMap();

2.定义自己的图层.

    /**
      *  用户poi自定义图
      */
    class MyPoiOverlay extends PoiOverlay {
   
        public MyPoiOverlay(com.baidu.mapapi.map.BaiduMap arg0) {
            super(arg0);
        }

        /**
         *覆盖物的点击事件
         */
        @Override
        public boolean onPoiClick(int arg0) {
            super.onPoiClick(arg0);
            PoiInfo poiInfo = getPoiResult().getAllPoi().get(arg0);
            // 检索poi详细信息
            mPoiSearch.searchPoiDetail(new PoiDetailSearchOption()
                    .poiUid(poiInfo.uid));
            return true;
        }
    }

3.初始化自定义图层;

    mTrafficOverLay = new MyPoiOverlay(mBaiduMap);
    mSchoolOverLay = new MyPoiOverlay(mBaiduMap);
    mLiveOverLay = new MyPoiOverlay(mBaiduMap);

这些初始化工作还是放在initBaiduMap()方法中进行.

4.设置搜索方式

搜索方式有一下三种,根据不同的需求来做,这这三个方法都有一个传入参数,page,当我们发起POI搜索时会搜到很多条,而这些搜索结果可以分为N页,每页N条这个page是显示第几页.也可以不用这个参数去掉pageNum(page)这段代码,在图层添加方法中加入mLiveOverLay.zoomToSpan();方法将所有的结果都显示出来.

   /**
     * 城市内搜索
     */
    private void citySearch(int page) {
        // 设置检索参数
        PoiCitySearchOption citySearchOption = new PoiCitySearchOption();
        citySearchOption.city("上海");// 城市
        citySearchOption.keyword("KFC");// 关键字
        citySearchOption.pageCapacity(15);// 默认每页10条
        citySearc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值