Android studio 百度地图开发(8)地图已标记POI点和搜索POI点的获取和利用

本文介绍了在Android Studio中使用百度地图API获取地图上已标记的POI点以及通过关键词搜索POI点的方法。详细讲解了BaiduMap.OnMapClickListener接口和MapPoi类,以及如何通过OnGetPoiSearchResultListener监听搜索结果,同时对比了直接搜索与联想搜索的区别和使用。
摘要由CSDN通过智能技术生成

一.简要描述

百度地图的POI点可以分有两种:地图中已经标记的点和通过关键词搜索得到的POI点。对于这两种POI点,百度封装成了不同的类和接口来实现监听,下面简单讲一点。

二.地图中已标记POI点

首先遇到的第一个问题就时如何获取已标记点的信息,在百度地图点击已标记的点会有信息的,那么在自己的地图上如何产生点击事件呢?

(1)接口

百度提供了一个POI点击事件的接口 BaiduMap.OnMapClickListener,该接口提供了两个方法,如下表。
(测试下CSDN的MarkDown编辑器画表格的功能,不会把首行的标题居中呀)

返回类型 方法 说明
boolean onMapClick(LatLng point) 地图单击事件回调函数
boolean onMapPoiClick(MapPoi poi) 地图内 Poi 单击事件回调函数

(2)MapPoi 类

返回类型 方法 说明
java.lang.String getName() 获取该兴趣点的名称
LatLng getPosition() 获取该兴趣点的地理坐标

(3)获取POI

我们只需要重写onMapPoiClick()就可以了。
代码如下:

 baiduMap.setOnMapClickListener(new BaiduMap.OnMapClickListener() {
            @Override
            public void onMapClick(LatLng latLng) {
            }
            @Override
            public boolean onMapPoiClick(MapPoi mapPoi)
            {
                String POIName = mapPoi.getName();//POI点名称
                LatLng POIPosition = mapPoi.getPosition();//POI点坐标
                //下面就是自己随便应用了
                //根据POI点坐标反向地理编码
                //reverseSearch(POIPosition);
                 //添加图层显示POI点
                /*baiduMap.clear();
                baiduMap.addOverlay(
                        new MarkerOptions()
                                .position(POIPosition)                                     //坐标位
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值