iOS-Andriod百度地图仿百度外卖-饿了么-选择我的地址-POI检索/
http://zanderzhang.gitcafe.io/2015/09/19/iOS-Andriod百度地图仿百度外卖-饿了么-选择我的地址-POI检索/
百度外卖选择送货地址:
饿了么选择送货地址:

第一个图,就是放一个UIImageView在MapView的中间,然后我们拖动的时候下面地图在跑.
-(void)addMiddleImage{
UIImageView *imaV=[UIImageView new];
imaV.center=_mapView.center;
imaV.bounds=CGRectMake(0, 0, 24, 36);
imaV.image=[UIImage imageNamed:@"poi_icon"];
[self.view addSubview:imaV];
}
取屏幕中心点,也就是UIImageView的坐标:
geo.reverseGeoPoint=mapStatus.targetGeoPt;
geo是BMKReverseGeoCodeOption *geo; 移动完成会调用:
-(void)mapStatusDidChanged:(BMKMapView *)mapView{
BMKMapStatus *mapStatus=[mapView getMapStatus];
geo.reverseGeoPoint=mapStatus.targetGeoPt;
[_geoSearcher reverseGeoCode:geo];
NSLog(@"mapStatusDidChanged");
}
回调函数获得反编译结果和周边result.poiList:
-(void)onGetReverseGeoCodeResult:(BMKGeoCodeSearch *)searcher result:(BMKReverseGeoCodeResult *)result errorCode:(BMKSearchErrorCode)error{
[geoArr removeAllObjects];
[geoArr addObjectsFromArray:result.poiList];
if (result.poiList.count) {
BMKPoiInfo *info=result.poiList[0];
_city=info.city;
}
[_bottomTable reloadData];
}
第二个图,我开始使用在线建议查询,后面发现这个POI搜索更好用点,它有三种,我使用的是POI城市内搜索:
开始检索:
bMKPoiSearch =[[BMKPoiSearch alloc]init];
bMKPoiSearch.delegate = self;
BMKCitySearchOption *option=[BMKCitySearchOption new];
// 城市内搜索
option.city =city;
option.keyword = searchText;
[bMKPoiSearch poiSearchInCity:option];
回调返回:
-(void)onGetPoiResult:(BMKPoiSearch )searcher result:(BMKPoiResult )poiResult errorCode:(BMKSearchErrorCode)errorCode{[suggestionSearchArr removeAllObjects];
[suggestionSearchArr addObjectsFromArray:poiResult.poiInfoList];
[_suggestionTable reloadData];}`
在poiResult里面有poiInfoList,成员是BMKPoiInfo,跟第一个图一样.
Andriod和这差不多,函数有所区别.有需要demo的朋友可以留邮箱.
iOS-Andriod百度地图仿百度外卖-饿了么-选择我的地址-POI检索/的更多相关文章
- (转载) 百度地图工具类封装(包括定位,附近、城市、范围poi检索,反地理编码)
目录视图 摘要视图 订阅 赠书 | 异步2周年,技术图书免费选 程序员8月书讯 项目管理+代码托管+文档协作,开发更流畅 百度地图工具类封装(包括定位,附近.城市.范围poi检索, ...
- 百度地图地址解析(百度Geocoding API)
1.什么是Geocoding? Geocoding API 是一类简单的HTTP接口,用于提供从地址到经纬度坐标或者从经纬度坐标到地址的转换服务,用户可以使用C# .C++.Java等开发语言发送HT ...
- 百度地图 隐藏百度地图Logo
/* 隐藏百度Logo */ .BMap_cpyCtrl, .anchorBL {display: none; }
- 仿美团外卖,饿了吗 两个ListView联动,左边点击切换右边,右边滑动切换左边
先上效果图: 实现思路: 1.先说右边标题: 首先,右边的数据源集合中的Javabean中含有三个属性name,type,title,而每个条目中会默认含有一个标题. 如果这是第一个条目,就让标题显示 ...
- Android百度地图开发 百度地图得到当前位置
1.申请key 2.复制jar,以及.so .注意要Libs目录右键build path -> use as source folder(这是一个坑) 3. AndroidMainFast.xm ...
- IOS苹果和百度地图的相关使用
iOS中使用较多的3款地图,google地图.百度地图.苹果自带地图(高德).其中苹果自带地图在中国使用的是高德的数据.苹果在iOS 6之后放弃了使用谷歌地图,而改用自家的地图.在国内使用的较多的就是 ...
- iOS之苹果和百度地图的使用
iOS中使用较多的3款地图,google地图.百度地图.苹果自带地图(高德).其中苹果自带地图在中国使用的是高德的数据.苹果在iOS 6之后放弃了使用谷歌地图,而改用自家的地图.在国内使用的较多的就是 ...
- ios 百度地图,火星坐标,地球坐标互转
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...
- iOS百度地图路径规划和POI检索详细总结-b
路径规划.png 百度地图的使用 百度地图API的导入网上说了许多坑,不过我遇到的比较少,这里就放两个比较常见的吧.坑一: 奥联WIFI_xcodeproj.png 如上图所示,在infoplist里 ...
随机推荐
- Redis缓存服务搭建及实现数据读写
发现博客园中好多大牛在介绍自己的开源项目是很少用到缓存,比如Memcached.Redis.mongodb等,今天得空抽时间把Redis缓存研究了一下,写下来总结一下,跟大家一起分享 一下.由于小弟水 ...
- [Angular 2] Select From Multiple Nested Angular 2 Elements
You have complete control over the elements you nest inside of your component instance by using sele ...
- iOS开发——UI篇Swift篇&玩转UItableView(一)基本使用
UItableView基本使用 class ListViewController: UIViewController , UITableViewDataSource, UITableViewDeleg ...
- 云服务器 ECS Linux 磁盘空间满(含 innode 满)问题排查方法
问题描述 在云服务器 ECS Linux 系统内创建文件时,出现类似如下空间不足提示: No space left on device … 问题原因 导致该问题的可能原因包括: 磁盘分区空间使用率达到 ...
- 终端I/O之获得和设置终端属性
使用函数tcgetattr和tcsetattr可以获得或设置termios结构.这样也可以检测和修改各种终端选择标志和特殊字符,以使终端按我们所希望的方式进程操作. #include <term ...
- c基础补充
一:字符串在C语言中 字符串一般是动态分配和字符数组两种形式 动态分配的时候字符串字符串指针是4个字节 字符串的大小根据自己的需要来申请 比如: char * c://C为字符串指针 占用四个字节 c ...
- Json.Net学习.集合序列化.
只要集合实现了IEnumable接口就可以进行序列化 Json序列化器为序列化及反序列化集合对象提供了良好的支持. ->Serializing 为了序列化一个集合---一个泛型的list,arr ...
- PetaPOCO 一对多 多对一 多对多
PetaPoco支持将结果集中的一行映射到到两个以及更多POCO,但是如何处理一对多和多对多关系? 1.PetaPoco 支持将结果映射为多个POCO类型,提供了另一种方法来处理SQL的Join查询. ...
- 【Android 界面效果37】ViewStub的应用
在开发应用程序的时候,经常会遇到这样的情况,会在运行时动态根据条件来决定显示哪个View或某个布局.那么最通常的想法就是把可能用到的View都写在上面,先把它们的可见性都设为View.GONE,然后在 ...
- Lnmp下安装memcached
Lnmp下安装memcached 1.先安装 libevent,再安装 Memcached主程序 # tar xf libevent-2.0.21-stable.tar.gz # cd ...