iOS-Andriod百度地图仿百度外卖-饿了么-选择我的地址-POI检索/

2024-04-01 00:38

本文主要是介绍iOS-Andriod百度地图仿百度外卖-饿了么-选择我的地址-POI检索/,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

tags:

百度外卖选择送货地址:
饿了么选择送货地址:

百度地图api官网

第一个图,就是放一个UIImageViewMapView的中间,然后我们拖动的时候下面地图在跑.

-(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检索/的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/865796

相关文章

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

使用Python和Pyecharts创建交互式地图

《使用Python和Pyecharts创建交互式地图》在数据可视化领域,创建交互式地图是一种强大的方式,可以使受众能够以引人入胜且信息丰富的方式探索地理数据,下面我们看看如何使用Python和Pyec... 目录简介Pyecharts 简介创建上海地图代码说明运行结果总结简介在数据可视化领域,创建交互式地

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

Java利用poi实现word表格转excel

《Java利用poi实现word表格转excel》这篇文章主要为大家详细介绍了Java如何利用poi实现word表格转excel,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、每行对象类需要针对不同的表格进行对应的创建。package org.example.wordToEx

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

使用Folium在Python中进行地图可视化的操作指南

《使用Folium在Python中进行地图可视化的操作指南》在数据分析和可视化领域,地图可视化是一项非常重要的技能,它能够帮助我们更直观地理解和展示地理空间数据,Folium是一个基于Python的地... 目录引言一、Folium简介与安装1. Folium简介2. 安装Folium二、基础使用1. 创建

Linux配置IP地址的三种实现方式

《Linux配置IP地址的三种实现方式》:本文主要介绍Linux配置IP地址的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录环境RedHat9第一种安装 直接配置网卡文件第二种方式 nmcli(Networkmanager command-line

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

使用Apache POI在Java中实现Excel单元格的合并

《使用ApachePOI在Java中实现Excel单元格的合并》在日常工作中,Excel是一个不可或缺的工具,尤其是在处理大量数据时,本文将介绍如何使用ApachePOI库在Java中实现Excel... 目录工具类介绍工具类代码调用示例依赖配置总结在日常工作中,Excel 是一个不可或缺的工http://