腾讯手机地图SDK(iOS)是一套基于iOS 4.0及以上设备的应用接口,通过该接口,您可以方便地访问腾讯地图为您提供的高质量地点数据和服务,构建丰富而实用的地图及位置服务类应用。手机腾讯地图API除提供创建底图、缩放、平滑移图等基础功能外,还提供定位、反地址解析,实时路况等拓展服务,助您在应用开发中事半功倍。地图API的服务需要注册,免费的向第三方提供,任何非盈利性网站均可使用。
目前腾讯手机地图SDK没有单日调用上限的限制。
腾讯手机地图SDK提供了基本的地图构建,POI搜索,反地址解析,实时路况;自定义图层等丰富功能,具体的内容您可以详细阅读参考手册进行进一步的了解。
支持,在开发指南的自动部署页面可以了解如何使用CocoaPods来部署SDK。
QMapServices类中提供查询方法:[QMapServices sharedServices].sdkVersion;
2D地图SDK可以在官网中下载,但是由于2D地图SDK已经停止更新,建议开发者使用最新的3D地图SDK。
在使用SDK之前,需要在控制台申请ApiKey,并且在初始化地图之前调用[QMapServices sharedServices].APIKey = @"key";来设置。
在控制台页面,进入key设置页面,可以在如下图的位置,设置key与Bundle Identifier的对应关系。
真机调试Demo,需要在工程配置页面中修改Bundle Identifier,并在Signing页面中配置Team。
原因:没有正确的添加资源文件,因此导致地图加载不成功。
解决:需要将QMapKit.bundle资源文件添加到工程中,如下图所示:
Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: '-[NSConcreteData QMapMd5String]: unrecognized selector sent to instance. 原因:在工程项目配置文件的Build Setting页面中,搜索Other Linker Flags并添加-ObjC,请保证大小写一致。
地图显示之后出现如下提示:
原因:key不正确,或者bundleId不正确。请在官网检索是否为本key开通了SDK权限。
目前地图SDK只有海外地图可以切换英文和中文显示,国内地图目前只支持中文。
地图SDK从4.3.5版本开始,支持离线地图功能,开发指南请参考离线地图;
可以通过QMapView的接口@property (nonatomic) BOOL showsPoi;来设置是否显示POI。
可以通过QMapView的接口@property (nonatomic) BOOL shows3DBuildings;来设置是否显示3D楼块。
AnnotationView提供了zIndex属性,该值默认为0,值大的会覆盖在值小的上面。
获取构成Annotation的坐标,并计算这些坐标构成的最小外接region,最后更新地图显示的region,示例代码如下所示:
点标记是绘制在地图之上的图片资源,当使用海量的Marker数据时,为了性能体验,建议使用点聚合来辅助显示。
需保证最上层显示的文本信息中QTextStyle的priority属性为QTextPriority_High,以及对应的polylineView的displayLevel属性为QOverlayLevelAboveRoads或者QOverlayLevelAboveBuildings。
在创建QPolygon数据模型时,需要注意传入的坐标要按照顶点连接顺序传入,保证图形闭合时顶点连线不会交叉。
QOverlayView的displayLevel可以设置多边形的压盖层级,具体可以参考元素压盖顺序介绍。
线覆盖物与其他图形不同,由于一般线是绘制在道路中的,因此具有POI避让规则,会让线周围的POI自动隐藏。
使用检索功能,首先要导入头文件#import
2D地图SDK没有提供检索功能接口,建议您将SDK升级到3D地图SDK,或者使用HTTP请求WebService API的接口来实现检索功能。
如果key的WebServiceAPI功能开启了签名校验,就不能直接使用SDK的检索功能了,需要按照签名规则通过HTTP请求的方式来使用检索功能。在移动端SDK中并不建议使用签名校验功能,因为通过bundle id检验的方式已经可以保护您的key调用权限。
该情况可能是由于检索失败导致的,当检索失败时,回调函数searchWithSearchOption: didFailWithError:会返回对应的错误信息。
请检查代码是否将QMSSearcher初始化为局部变量,如果声明为局部变量则会在该方法执行完毕之后释放检索对象,因此必须声明为成员变量才可使用。
支持,在头文件QUserLocationPresentation.h中提供的属性,可以用于修改定位图标和定位圈颜色。然后通过mapView的configureUserLocationPresentation:方法来设置。
定位精度圈会根据当前定位信息的精度来缩放。定位圈越大,精度越低;定位圈越小,精度越高。在室外一般精度会高一些,室内由于gps信号不好,精度就会低。
地图SDK 4.3.5版本中添加了- (void)mapView:(QMapView *)mapView didTapMyLocation:(CLLocationCoordinate2D)location方法,该方法会在点击定位图标时调用。
如果在QUserTrackingModeFollow和QUserTrackingModeFollowWithHeading模式下改变地图视野时,跟踪模式会转变为QUserTrackingModeNone,如果需要跟踪功能,则需要再次设置。
1).商户标注问题请关注“腾讯位置服务”公众号反馈;
2).开发问题请在此页面(https://lbs.qq.com/dev/console/ticket/list )提交工单反馈。