新建工程
采用MapSDK开发iOS平台(iPhone/iPod Touch/iPad)下的地图应用程序,需要在XCode下建立相应的项目工程,本文档以建立iPhone上的项目工程作为示例。引用地图开发库
开发iOS设备上的地图功能需要引用的开发库主要包括文件libiMapSDKLib,iMapSDK目录下的头文件以及sa_types.h和ut_types.h还有htl的所有头文件等,添加引用方式如下。
1. 把libiMapSDKLib.a放在工程目录下,如图所示。
2. 把头文件放到文件夹include中,复制到工程目录下,如图所示。
3. 复制文件后,在XCode的工程目录中包含头文件到工程中,如图所示。
4. 然后在”Project->Edit Active Target ->Build->Linking”选项卡中设置代码编译时要连接的静态库的名称即libiMapSDKLib.a,如图所示。
5. 在Project->Edit Active Target ->Build->Search Path选项中设置头文件的include路径(Header Search Path)和静态库的连接路径(LibrarySearch Path),如图8所示。
6. 开发环境搭建完毕后,编译成功,点击”Run”,模拟器上可以运行一个空白的待开发iphone程序,如图所示。
地图查询
在iOS平台上利用MapSDK提供的查询接口实现查询功能,首先,接收查询结果的类需要继承MSearchDelegate协议,另外如果要想实现坐标反偏移的查询,还要实现GPSToOffsetByPoint_Delegate协议。示例代码如下:- @interface SearchViewController:UITableViewController<msearchdelegate, gpstooffsetbypoint_delegate="">{
- }
- @end
由坐标点查询空间位置描述
该查询功能根据空间坐标点,查询该点的位置描述,包括该点所在省市区,周边的POI和道路等信息。示例代码如下。
- MSearch* search = [MSearchMSearchWithKey:@”XXXXXX”delegate:Delegate];
- MLONLAT poi;
- poi.X = XXXX.XXXX;
- poi.Y = YYYY.YYYY;
- MREGEOCODESEARCHOPTIONS options;
- [searchPoiToAddressByPoi:poiOptions:options];
坐标点周边关键字查询
该查询功能根据中心点坐标,进行该中心点的周边关键字查询,示例代码如下。
- MSearch* search = [MSearchMSearchWithKey:@”XXXXXX”delegate:Delegate];
- MLONLAT poi;
- poi.X = XXXX.XXXX;
- poi.Y = YYYY.YYYY;
- MPOISEARCHOPTIONS options;
- [search PoiSearchByCenPoi:poi Keywords:@”XXXX” City:”北京”Options:options];
关键字周边的关键字查询
该功能实现在关键字周边进行关键字搜索查询,示例代码如下。
- Search* search = [MSearchMSearchWithKey:@”XXXXXX”delegate:Delegate];
- MPOISEARCHOPTIONS options;
- [search PoiSearchByCenKeywors:@”XXXX”SearchKeywords:@”XXXX” City:”北京”Options:options];
两点间驾车导航路径查询
该功能实现在两个点之间查询驾车导航路径,代码如下。
- MSearch* search = [MSearchMSearchWithKey:@”XXXXXX”delegate:Delegate];
- MLONLAT startPoi;
- startPoi.X = XXXX.XXXX;
- startPoi.Y = YYYY.YYYY;
- MLONLAT endPoi;
- endPoi.X = XXXX.XXXX;
- endPoi,Y = YYYY.YYYY;
- MAUTOSEARCHOPTIONS options;
- [searchRouteSearchByStartPoi:startPoiEndPoi:endPoiOptions:options];
导航距离计算
该功能实现导航路径的距离查询,输入参数为X,Y坐标的集合,代码如下。
- MSearch* search = [MSearchMSearchWithKey:@”XXXXXX”delegate:Delegate];
- MAUTODISSEARCHOPTIONS options;
- [searchCalculaNaviDistanceByXPoint:@”XXXX” YPoint:@”YYYY”Options:options];
两点间的公交导航查询
该功能查询两点之间的公交导航,代码如下。
- MSearch* search = [MSearchMSearchWithKey:@”XXXXXX”delegate:Delegate];
- MLONLAT startPoi;
- startPoi.X = XXXX.XXXX;
- startPoi.Y = YYYY.YYYY;
- MLONLAT endPoi;
- endPoi.X = XXXX.XXXX;
- endPoi,Y = YYYY.YYYY;
- MBUSNAVISEARCHOPTIONS options;
- [searchBusSearchByStartPoi:startPoiEndPoi:endPoi City:@”北京”Options:options];
公交ID查询公交信息
该功能实现通过公交ID查询公交信息,代码如下。
- MSearch* search = [MSearchMSearchWithKey:@”XXXXXX”delegate:Delegate];
- MBUSINFOSEARCHOPTIONS options;
- [search BusSearchByBusId:@”000000123456” City:”北京”Options:options];
公交站点查询公交信息
该功能实现由公交站点名称查询公交信息,代码如下。
- MSearch* search = [MSearchMSearchWithKey:@”XXXXXX”delegate:Delegate];
- MBUSINFOSEARCHOPTIONS options;
- [search BusSearchByBusStation:@”西直门” City:”北京”Options:options];
公交名称查询公交信息
该功能实现由公交名称查询公交信息,代码如下。
- MSearch* search = [MSearchMSearchWithKey:@”XXXXXX”delegate:Delegate];
- MBUSINFOSEARCHOPTIONS options;
- [search BusSearchByBusName:@”917” City:”北京”Options:options];
GPS真实坐标转换为偏移坐标
该功能实现GPS真实坐标转换为GPS偏移坐标,因为该查询在后台采用了多线程的执行方式所以查询参数的传递有别于其他查询接口使用方法如下。 (1)首先要使接收查询的类继承GPSToOffsetByPoint_Delegate协议,代码如下。
- @interfaceSearchViewController:UITableViewController<msearchdelegate, gpstooffsetbypoint_delegate="">{
- }
- @end
- </msearchdelegate,>
- @implementtationSearchViewController
- @synthesize poiXY;
- @synthesize options;
- @end
- MSearch* search = [MSearchMSearchWithKey:@”XXXXXX”delegate:Delegate];
- Delegate.poiXY.X =XXXX.XXX; Delegate.poiXY.Y =YYYY.YYY; MCOORDINATESEARCHOPTIONSsearch_option;
- Delegate.options = search_option;
- [m_pSearchGPSToOffSetByPoint:Delegate];