【高德API】如何利用MapKit开发全英文检索的iOS地图

简介: 原文:【高德API】如何利用MapKit开发全英文检索的iOS地图 制作全英文地图的展示并不困难,但是要制作全英文的数据检索列表,全英文的信息窗口,你就没办法了吧。告诉你,我有妙招!使用iOS自带的MapKit来展示全球英文底图,结合上高德API的中英文检索功能,就能打造POI数据最丰富,英文展示...

原文:【高德API】如何利用MapKit开发全英文检索的iOS地图

制作全英文地图的展示并不困难,但是要制作全英文的数据检索列表,全英文的信息窗口,你就没办法了吧。告诉你,我有妙招!使用iOS自带的MapKit来展示全球英文底图,结合上高德API的中英文检索功能,就能打造POI数据最丰富,英文展示全方位的纯英文地图啦!看看截图,是不是浑然天成?

-------------------------------------------------------------------------------------------------------------------------------

下面开始详解纯英文地图的步骤啦,助力程序员与国际APPs接轨!

 

第一步:申请Key

先申请高德的KEY

1、填写应用名称

2、绑定服务选择IOS平台

3、输入bundle id:将Xcode切换到General标签,即可查看Bundle Identifier

4、点击获取KEY

 

第二步、新建地图工程

在xCode里,新建一个 Single View Application工程,并且进行配置。

在高德官网有地图配置的详细说明,这里我就不多说了。查看:http://lbs.amap.com/api/ios-sdk/guide/mapview/

  

第三步、添加MKMapView

1、在xCode里选择Build Phases标签,点开Link Binary With Libraries,再点加号。

2、在弹出来的搜索框里搜索Mapkit

3、选择iOS 8.0-->MapKit.framework,最后点击add即可。

 

第四步、申请定位权限

info.plist中追加NSLocationAlwaysUsageDescription或者NSLocationAlwaysUsageDescription字段。

NSLocationWhenInUseUsageDescription表示应用在前台的时候可以搜到更新的位置信息;NSLocationAlwaysUsageDescription表示应用在前台和后台(suspend或terminated)都可以获取到更新的位置数据。

所以我还是建议NSLocationAlwaysUsageDescription这种方便的模式,哈哈。

 

 1.在工程的 Supporting Files中选择 plist文件
 2.点击+号,输入字段 NSLocationAlwaysUsageDescription
 
 3.按回车,即可完成添加字段

 

第五步、初始化Mapview

高德的坐标系是国内标准坐标(GCJ-02,又称火星坐标),国际上一般是采用GPS坐标(WGS-84),所以大多数国际应用在中国使用时,需要进行坐标转换。

好在苹果的MapKit用的是高德的地图,showUserLocation= YES,坐标已经是GCJ-02的啦,可以直接使用~

(PS:不建议使用CLLocationManager定位管理类,它返回的坐标是GPS坐标,必须进行坐标转换,很麻烦。)
 
//申请定位权限  
-  (void) initLocation  
{  
     if(nil == _locationManager)  
     {  
         _locationManager = [[CLLocationManager alloc] init];  
    }    
  
    if([[[UIDevice  currentDevice] systemVersion] floatValue] >= 8.0)  
     {  
         [_locationManager requestAlwaysAuthorization];  
     }  
} 
//初始化MapView - (void) initMapView{
//构造MKMapView _mapView = [[MKMapView alloc] initWithFrame:CGRectMake(0, 21, CGRectGetWidth(self.view.bounds), CGRectGetHeight(self.view.bounds))]; _mapView.delegate = self; _mapView.showsUserLocation = YES;//显示定位图标 [_mapView setUserTrackingMode:MKUserTrackingModeFollow];//设置定位模式
//将mapview添加到Subview中 [self.view addSubview:_mapView]; }

 

第六步、初始化AMapSearchAPI

构造AMapSearchAPI对象,设置搜索结果语言为英文 AMapSearchLanguage_en
这步非常重要喔!必须要设置成英文,才能巧妙地让POI搜索、逆地理编码和地理编码、输入提示等,都变成纯英文喔。
 
//初始化AMapSearchAPI  
-  (void)initSearch  
{  
     //构造AMapSearchAPI  
     _search = [[AMapSearchAPI alloc] initWithSearchKey:APIKey Delegate:self];  
     _search.language = AMapSearchLanguage_en;//设置语言  
}

 

第七步、写个搜索demo来看看

以一个普通的POI检索为例,当检索英文关键词时,出来纯英文的搜素建议;搜索结果也用英文来展示。

/*  POI 搜索.  */  
-  (void)searchPOIWithKey:(NSString *)key adcode:(NSString *)adcode  
{  
     if (key.length == 0)
     {
           return;  
     }  
//构造POI搜索对象AMapPlaceSearchRequest AMapPlaceSearchRequest *place = [[AMapPlaceSearchRequest alloc] init];
//设置关键字 place.keywords = key; place.requireExtension = YES;//设置成YES,返回信息详细,较费流量 if (adcode.length > 0) { place.city = @[adcode]; } //发起查询 [_search AMapPlaceSearch:place]; } //回调中显示结果 - (void)onPlaceSearchDone:(AMapPlaceSearchRequest *)request response:(AMapPlaceSearchResponse *)respons { if (respons.pois.count == 0) { return; } NSMutableArray *poiAnnotations = [NSMutableArray arrayWithCapacity:respons.pois.count]; [respons.pois enumerateObjectsUsingBlock:^(AMapPOI *obj, NSUInteger idx, BOOL *stop) { [poiAnnotations addObject:[[POIAnnotation alloc] initWithPOI:obj]]; }];
/* 将结果以annotation的形式加载到地图上. */ [_mapView addAnnotations:poiAnnotations];
/* 如果只有一个结果,设置其为中心点. */ if (poiAnnotations.count == 1) { _mapView.centerCoordinate = [poiAnnotations[0] coordinate]; }
/* 如果有多个结果, 设置地图使所有的annotation都可见. */ else { [_mapView showAnnotations:poiAnnotations animated:NO]; } }

 

最后,想象你是一个外国人,把你的手机语言改成English,这时,英文底图就出现了!

其实如果用高德iOS SDK,也有英文底图,但得调用SDK啊,很麻烦呢。如果本来就是给在中国的外国人看,还不如直接调用iOS的MapKit呢~

你要开发安卓版英文地图的话,那当然直接用高德Android SDK就好了啦~

 

最后,这里是全部源码下载:https://github.com/autonaviapi/HelloAmapForEnglish

 

 

大家快动手试试吧~~ 真的是一秒钟国际范儿的赶脚~ 再看一遍截图~

 

-------------------------------------------------------------------------------------------------------------------------------

关于为什么要选择高德API:

1、苹果MapKit本来就是调用的高德地图,看右下角版权信息,是不是有个灰色的高德地图logo,所以不存在坐标转换的问题,嗯,浑然天成;

2、高德推出了全球定位,全英文地图,全英文检索(全国仅此一家!)等潮流产品,各种非常适合“国际范儿”这个命题。

-------------------------------------------------------------------------------------------------------------------------------

 

 

目录
相关文章
|
7月前
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。
|
8月前
|
数据可视化 测试技术 API
从接口性能到稳定性:这些API调试工具,让你的开发过程事半功倍
在软件开发中,接口调试与测试对接口性能、稳定性、准确性及团队协作至关重要。随着开发节奏加快,传统方式已难满足需求,专业API工具成为首选。本文介绍了Apifox、Postman、YApi、SoapUI、JMeter、Swagger等主流工具,对比其功能与适用场景,并推荐Apifox作为集成度高、支持中文、可视化强的一体化解决方案,助力提升API开发与测试效率。
|
8月前
|
JSON 监控 API
小红书:对接苹果支付API满足iOS用户习惯,提升转化率
小红书集成Apple Pay可显著提升iOS用户支付体验,简化流程、增强安全、提高转化率。本文详解从开发配置、代码实现到后端验证与优化策略的全流程,助力高效落地,推动业务增长。(238字)
593 0
|
8月前
|
人工智能 自然语言处理 机器人
使用 API 编程开发扣子应用
扣子(Coze)应用支持通过 API 编程,将 AI 聊天、内容生成、工作流自动化等功能集成至自有系统。主要 API 包括 Bot API(用于消息交互与会话管理)及插件与知识库 API(扩展功能与数据管理)。开发流程包括创建应用、获取密钥、调用 API 并处理响应,支持 Python 等语言。建议加强错误处理、密钥安全与会话管理,提升集成灵活性与应用扩展性。
2465 0
|
10月前
|
数据采集 测试技术 API
小白必看!电商 API 开发避坑指南:签名错误、权限申请全解决
本文总结电商API开发常见问题与解决方案,涵盖京东、淘宝、拼多多的签名规则、权限申请、频率限制等核心踩坑点,结合实战案例,助你高效避坑,提升开发效率90%。
|
9月前
|
前端开发 Java API
利用 Spring WebFlux 技术打造高效非阻塞 API 的完整开发方案与实践技巧
本文介绍了如何使用Spring WebFlux构建高效、可扩展的非阻塞API,涵盖响应式编程核心概念、技术方案设计及具体实现示例,适用于高并发场景下的API开发。
653 0
|
9月前
|
存储 监控 算法
淘宝买家秀 API开发实录Python(2025)
本文讲述了作者在电商开发领域,尤其是对接淘宝买家秀 API 接口过程中所经历的挑战与收获。从申请接入、签名验证、频率限制到数据处理和实时监控,作者分享了多个实战经验与代码示例,帮助开发者更高效地获取和处理买家秀数据,提升开发效率。
|
10月前
|
数据采集 缓存 监控
唯品会 API 开发痛点解析:从权限申请到数据清洗的实战经验
本文深入解析唯品会开放平台(VOP)API开发全流程,涵盖权限申请、签名机制、数据清洗、性能优化等核心挑战与实战解决方案,助力开发者高效构建稳定可靠的电商数据整合系统。
|
7月前
|
API 开发者 数据采集
高效获取淘宝商品详情:API 开发实现链接解析的完整技术方案
2025反向海淘新机遇:依托代购系统,聚焦小众垂直品类,结合Pandabay数据选品,降本增效。系统实现智能翻译、支付风控、物流优化,助力中式养生茶等品类利润翻倍,新手也能快速入局全球市场。
高效获取淘宝商品详情:API 开发实现链接解析的完整技术方案
|
8月前
|
数据采集 缓存 API
小红书笔记详情 API 实战指南:从开发对接、场景落地到收益挖掘(附避坑技巧)
本文详解小红书笔记详情API的开发对接、实战场景与收益模式,涵盖注册避坑、签名生成、数据解析全流程,并分享品牌营销、内容创作、SAAS工具等落地应用,助力开发者高效掘金“种草经济”。
小红书笔记详情 API 实战指南:从开发对接、场景落地到收益挖掘(附避坑技巧)