立得地图iOS SDK 地图&搜索服务参考手册 V1.7.0
|
地图view 更多...
#import <LMKMapView.h>
构造函数 |
|
(instancetype) | - initWithFrame:projectionType:hiddenVectorMap: |
地图初始化方法,默认的initWithFrame方法显示墨卡托投影的矢量地图 更多... |
|
(void) | - setCenterCoordinate:animated: |
将经纬度坐标设置为地图中心点 更多... |
|
(void) | - setCompassScreenPoint:animated: |
设置指南针的位置 更多... |
|
(void) | - setVisibleMapRect:animated: |
设置地图的平面投影(20级像素坐标)可视范围 更多... |
|
(CGPoint) | - convertCoordinate:toPointToView: |
将经纬度转换为指定view坐标系的坐标 更多... |
|
(CLLocationCoordinate2D) | - convertPoint:toCoordinateFromView: |
将指定view坐标系的坐标转换为经纬度 更多... |
|
(instancetype) | - initWithFrame: |
初始化Map View,暂不支持多实例 更多... |
|
(void) | - setScrollEnabled: |
支持Scroll手势,默认YES 更多... |
|
(void) | - setZoomEnabled: |
支持Zoom手势,默认YES 更多... |
|
(void) | - setRotateEnabled: |
支持Rotate手势,默认YES 更多... |
|
(void) | - setCameraEnabled: |
支持Camera(视角)手势,默认YES 更多... |
|
(void) | - setStyleFileName:andIconsFileName: |
支持用户设置地图的样式文件 更多... |
|
(BOOL) | - getverifyResult |
返回专业版权限检验结果,使用专业版功能前请将鉴权文件product.sn和deviceid.dat放入LDMap.bundle主目录下。若要申请使用专业版功能,请访问http://dev.ishowchina.com/ios/map/index.html了解详细信息。
更多... |
|
(void) | - showAnnotations:animated: |
(void) | - addAnnotation: |
向地图窗口添加标注,需要实现LMKMapViewDelegate的-mapView:viewForAnnotation:函数来生成标注对应的View
更多... |
|
(void) | - addAnnotations: |
向地图窗口添加一组标注,需要实现LMKMapViewDelegate的-mapView:viewForAnnotation:函数来生成标注对应的View
更多... |
|
(void) | - removeAnnotation: |
移除标注 更多... |
|
(void) | - removeAnnotations: |
移除一组标注 更多... |
|
(void) | - didSelectAnnotationView: |
当选中一个annotation view时,调用此接口 更多... |
|
(void) | - didDeselectAnnotationView: |
当取消选中一个annotation view时,调用此接口 更多... |
|
(void) | - annotationView:didChangeDragState:fromOldState: |
拖动annotation view时view的状态变化 更多... |
|
(void) | - annotationView:calloutAccessoryControlTapped: |
标注view的accessory
view(必须继承自UIControl)被点击时,触发该回调 更多... |
|
(void) | - didAnnotationViewCalloutTapped: |
标注view的calloutview整体点击时,触发改回调。 更多... |
|
(LMKAnnotationView *) | - dequeueReusableAnnotationViewWithIdentifier: |
从复用内存池中获取制定复用标识的annotation view 更多... |
|
(void) | - addCustomDrawOverlay: |
添加自定义OpenGL绘制 overlay 更多... |
|
(void) | - addCustomDrawOverlays: |
添加自定义OpenGL绘制 overlays数组 更多... |
|
(void) | - removeCustomDrawOverlay: |
移除自定义OpenGL绘制 overlay 更多... |
|
(void) | - removeAllCustomDrawOverlays |
移除所有自定义OpenGL绘制的overlay 更多... |
|
(void) | - setGeojsonOptions: |
配置geoJson设置项,注意:该接口一经调用就会开始请求geoJson数据并开始刷新地图,且在刷新前会清除缓存的geoJson数据以及已经绘制在地图上的覆盖物
更多... |
|
(void) | - destroyGeojsonOverlay |
停止显示geoJson图层并清空覆盖物和缓存 更多... |
|
(void) | - addOverlay: |
向地图窗口添加Overlay 更多... |
|
(void) | - addOverlays: |
向地图窗口添加一组Overlay
默认添加层级:LMKOverlayLevelAboveLabels 更多... |
|
(void) | - removeOverlay: |
移除Overlay 更多... |
|
(void) | - removeOverlays: |
移除一组Overlay 更多... |
|
(void) | - insertOverlay:aboveOverlay: |
在指定的Overlay之上插入一个overlay 更多... |
|
(void) | - insertOverlay:belowOverlay: |
在指定的Overlay之下插入一个overlay 更多... |
|
(void) | - insertOverlay:atIndex: |
在指定的索引处添加一个Overlay 更多... |
|
(void) | - exchangeOverlayAtIndex:withOverlayAtIndex: |
交换指定索引处的Overlay 更多... |
|
(UIImage *) | - takeSnapshotInRect: |
在指定区域内截图(默认会包含该区域内的annotationView) 更多... |
|
(void) | - geo2lonlat_withPixel20X:pixel20Y:lon:lat: |
20级像素坐标转经纬度坐标 更多... |
|
(void) | - lonlat2geo_withLon:lat:geoX:geoY: |
经纬度坐标转20级像素坐标 更多... |
|
(void) | - geo2map_withPixel20X:pixel20Y:mapX:mapY: |
20级像素坐标转地图opengl坐标 更多... |
|
(void) | - map2geo_withMapX:mapY:geoX:geoY: |
地图opengl坐标转20级像素坐标 更多... |
|
(void) | - win2map_withWinX:winY:mapX:mapY: |
屏幕坐标转地图opengl坐标 更多... |
|
(void) | - map2win_withMapX:mapY:winX:winY: |
地图opengl坐标转屏幕坐标 更多... |
|
(float) | - getMapLenWithWinLen:byY: |
根据屏幕像素Len获得地图opengl长度 更多... |
|
(float) | - getMapLenWithWinLen: |
根据屏幕像素Len获得地图opengl长度 更多... |
|
(float) | - getMapLenWithGeoLen: |
根据20级像素Len获得地图opengl长度 更多... |
|
(float) | - getGeoLenWithWinLen: |
根据屏幕坐标Len获得20级像素坐标长度 更多... |
|
(void) | - setMapcenterByGeoPointX:Y: |
根据20级像素坐标设置地图中心点 更多... |
|
(void) | - getMapcenterWithGeoPointX:Y: |
根据地图中心点获取该点对应的20级像素坐标 更多... |
|
(float) | - getMapZoomer |
获取地图缩放级别 更多... |
|
(CGFloat) | - calculatePointA:andPointB: |
计算A点和B点之间的直线与正北方向(顺时针旋转)的夹角(弧度),其中A点为直线的起点,返回值区间为[0,2π)。
更多... |
|
(CGFloat) | - calculatePointA:andPointB:andPointC:andPointD: |
计算A点和B点之间的直线与C点和D点之间的直线(顺时针旋转)的夹角(弧度),其中A点、C点分别为两条直线的起点,返回值区间为[0,2π)。
更多... |
|
属性 |
|
id< LMKMapViewDelegate > | delegate |
LMKMapViewDelegate 代理 更多... |
|
LMKMapType | mapType |
地图类型,支持普通地图和夜间地图 更多... |
|
CGFloat | rotation |
地图旋转角度,当前可使用的范围为-180~180度,大于 0度 时为逆时针旋转
更多... |
|
CGFloat | overlooking |
地图俯视角度,俯视角度 0 - 45度,0度为:视角从正上方,向下看 更多... |
|
CGFloat | maxZoomInLevel |
设置地图可放大的最大级别,取值区间为[19,22],默认为19 更多... |
|
CGFloat | zoomLevel |
地图比例尺级别,可使用的地图比例尺级别的取值区间在3到maxZoomInLevel之间。
更多... |
|
CLLocationCoordinate2D | centerCoordinate |
当前地图的中心点,改变该值时,地图的比例尺级别不会发生变化 更多... |
|
BOOL | showsCompass |
显示指南针标志位,为YES时显示,默认是YES 更多... |
|
BOOL | showsLogo |
是否在地图左下角显示logo 更多... |
|
BOOL | showsBlueRoadNet |
是否显示蓝色路网,蓝色路网:用于表示地图中存在实景数据的路段。 更多... |
|
BOOL | showsUserLocation |
是否显示用户位置 更多... |
|
BOOL | touchPOIEnabled |
是否支持单击地图获取POI信息,默认为YES。 对应的回调是 -
(void)mapView:(LMKMapView *)mapView didTouchPois:(NSArray *)pois 更多... |
|
LMKUserLocation * | userLocation |
当前的位置数据 更多... |
|
CGPoint | logoCenter |
logo位置, 必须在mapView.bounds之内,否则会被忽略 更多... |
|
CGPoint | screenAnchor |
地图的视图锚点。坐标系归一化,(0, 0)为LMKMapView左上角,(1,
1)为右下角。默认为(0.5, 0.5),即当前地图的视图中心。 更多... |
|
CGSize | logoSize |
logo的宽高 更多... |
|
BOOL | showsScale |
是否显示比例尺 更多... |
|
BOOL | showTraffic |
是否显示交通 更多... |
|
CGPoint | scaleRightBottomOrigin |
比例尺右下角原点位置,设置的值如果比例尺显示超出bounds范围则不生效 更多... |
|
LMKMapRect | visibleMapRect |
当前地图的平面投影(20级像素坐标)可视范围 更多... |
|
NSArray * | annotations |
标注数组 更多... |
|
NSArray * | overlays |
Overlay数组 更多... |
|
地图view
- (void) addAnnotation: | (id< LMKAnnotation >) | annotation |
向地图窗口添加标注,需要实现LMKMapViewDelegate的-mapView:viewForAnnotation:函数来生成标注对应的View
annotation | 要添加的标注 |
由 category LMKMapView(Annotation) 提供.
- (void) addAnnotations: | (NSArray *) | annotations |
向地图窗口添加一组标注,需要实现LMKMapViewDelegate的-mapView:viewForAnnotation:函数来生成标注对应的View
annotations | 要添加的标注数组 |
由 category LMKMapView(Annotation) 提供.
- (void) addCustomDrawOverlay: | (LMKCustomDrawOverlay *) | customOverlay |
添加自定义OpenGL绘制 overlay
customOverlay | 绘制实例,需要实现glRender方法来绘制需要的图形 |
由 category LMKMapView(CustomDrawOverlay) 提供.
- (void) addCustomDrawOverlays: | (NSArray *) | customOverlays |
添加自定义OpenGL绘制 overlays数组
customOverlays | LMKCustomDrawOverlay数组 |
由 category LMKMapView(CustomDrawOverlay) 提供.
- (void) addOverlay: | (id< LMKOverlay >) | overlay |
- (void) addOverlays: | (NSArray *) | overlays |
向地图窗口添加一组Overlay 默认添加层级:LMKOverlayLevelAboveLabels
overlays | 要添加的overlay数组 |
由 category LMKMapView(Overlay) 提供.
- (void) annotationView: | (LMKAnnotationView *) | annotationView | |
calloutAccessoryControlTapped: | (UIControl *) | control | |
标注view的accessory view(必须继承自UIControl)被点击时,触发该回调
annotationView | callout所属的标注view |
control | 对应的control |
由 category LMKMapView(Annotation) 提供.
- (void) annotationView: | (LMKAnnotationView *) | view | |
didChangeDragState: | (LMKAnnotationViewDragState) | newState | |
fromOldState: | (LMKAnnotationViewDragState) | oldState | |
拖动annotation view时view的状态变化
view | annotation view |
newState | 新状态 |
oldState | 旧状态 |
由 category LMKMapView(Annotation) 提供.
- (CGFloat) calculatePointA: | (CLLocationCoordinate2D) | pointA | |
andPointB: | (CLLocationCoordinate2D) | pointB | |
计算A点和B点之间的直线与正北方向(顺时针旋转)的夹角(弧度),其中A点为直线的起点,返回值区间为[0,2π)。
pointA | 由A点经纬度构成的结构体 |
pointB | 由B点经纬度构成的结构体 |
由 category LMKMapView(Tools) 提供.
- (CGFloat) calculatePointA: | (CLLocationCoordinate2D) | pointA | |
andPointB: | (CLLocationCoordinate2D) | pointB | |
andPointC: | (CLLocationCoordinate2D) | pointC | |
andPointD: | (CLLocationCoordinate2D) | pointD | |
计算A点和B点之间的直线与C点和D点之间的直线(顺时针旋转)的夹角(弧度),其中A点、C点分别为两条直线的起点,返回值区间为[0,2π)。
pointA | 由A点经纬度构成的结构体 |
pointB | 由B点经纬度构成的结构体 |
pointC | 由C点经纬度构成的结构体 |
pointD | 由D点经纬度构成的结构体 |
由 category LMKMapView(Tools) 提供.
- (CGPoint) convertCoordinate: | (CLLocationCoordinate2D) | coordinate | |
toPointToView: | (UIView *) | view | |
将经纬度转换为指定view坐标系的坐标
coordinate | 经纬度坐标 |
view | view |
- (CLLocationCoordinate2D) convertPoint: | (CGPoint) | point | |
toCoordinateFromView: | (UIView *) | view | |
将指定view坐标系的坐标转换为经纬度
point | 屏幕点坐标 |
view | 指定view |
- (LMKAnnotationView*) dequeueReusableAnnotationViewWithIdentifier: | (NSString *) | identifier |
从复用内存池中获取制定复用标识的annotation view
identifier | 复用标识 |
由 category LMKMapView(Annotation) 提供.
- (void) destroyGeojsonOverlay |
停止显示geoJson图层并清空覆盖物和缓存
由 category LMKMapView(GeoJSONLayer) 提供.
- (void) didAnnotationViewCalloutTapped: | (LMKAnnotationView *) | annotationView |
标注view的calloutview整体点击时,触发改回调。
annotationView | calloutView所属的annotationView |
由 category LMKMapView(Annotation) 提供.
- (void) didDeselectAnnotationView: | (LMKAnnotationView *) | view |
- (void) didSelectAnnotationView: | (LMKAnnotationView *) | view |
- (void) exchangeOverlayAtIndex: | (NSUInteger) | index1 | |
withOverlayAtIndex: | (NSUInteger) | index2 | |
- (void) geo2lonlat_withPixel20X: | (int) | pixel20X | |
pixel20Y: | (int) | pixel20Y | |
lon: | (double *) | outLon | |
lat: | (double *) | outLat | |
20级像素坐标转经纬度坐标
pixel20X | 20级像素坐标经度 |
pixel20Y | 20级像素坐标纬度 |
outLon | 输出经度 |
outLat | 输出纬度 |
由 category LMKMapView(Tools) 提供.
- (void) geo2map_withPixel20X: | (int) | pixel20X | |
pixel20Y: | (int) | pixel20Y | |
mapX: | (float *) | outMapX | |
mapY: | (float *) | outMapY | |
20级像素坐标转地图opengl坐标
pixel20X | 20级像素坐标经度 |
pixel20Y | 20级像素坐标纬度 |
outMapX | 输出地图opengl坐标X |
outMapY | 输出地图opengl坐标Y |
由 category LMKMapView(Tools) 提供.
- (float) getGeoLenWithWinLen: | (int) | winPixelLen |
- (void) getMapcenterWithGeoPointX: | (int) | x | |
Y: | (int) | y | |
- (float) getMapLenWithGeoLen: | (int) | geoPixelLen |
- (float) getMapLenWithWinLen: | (int) | winPixelLen |
- (float) getMapLenWithWinLen: | (int) | winPixelLen | |
byY: | (int) | winY | |
根据屏幕像素Len获得地图opengl长度
winPixelLen | 屏幕像素Len |
winY | 屏幕坐标的Y值 |
由 category LMKMapView(Tools) 提供.
- (float) getMapZoomer |
- (BOOL) getverifyResult |
返回专业版权限检验结果,使用专业版功能前请将鉴权文件product.sn和deviceid.dat放入LDMap.bundle主目录下。若要申请使用专业版功能,请访问http://dev.ishowchina.com/ios/map/index.html了解详细信息。
- (instancetype) initWithFrame: | (CGRect) | frame |
- (instancetype) initWithFrame: | (CGRect) | frame | |
projectionType: | (LMKMapProjectionType) | type | |
hiddenVectorMap: | (BOOL) | hiddenVectorMap | |
地图初始化方法,默认的initWithFrame方法显示墨卡托投影的矢量地图
frame | 当前地图实例的尺寸 |
type | 投影类型:墨卡托投影和4326投影 |
hiddenVectorMap | 隐藏矢量地图,默认不隐藏 |
- (void) insertOverlay: | (id< LMKOverlay >) | overlay | |
aboveOverlay: | (id< LMKOverlay >) | sibling | |
在指定的Overlay之上插入一个overlay
overlay | 带添加的Overlay |
sibling | 用于指定相对位置的Overlay |
由 category LMKMapView(Overlay) 提供.
- (void) insertOverlay: | (id< LMKOverlay >) | overlay | |
atIndex: | (NSUInteger) | index | |
- (void) insertOverlay: | (id< LMKOverlay >) | overlay | |
belowOverlay: | (id< LMKOverlay >) | sibling | |
在指定的Overlay之下插入一个overlay
overlay | 带添加的Overlay |
sibling | 用于指定相对位置的Overlay |
由 category LMKMapView(Overlay) 提供.
- (void) lonlat2geo_withLon: | (double) | lon | |
lat: | (double) | lat | |
geoX: | (int *) | outPixel20X | |
geoY: | (int *) | outPixel20Y | |
经纬度坐标转20级像素坐标
lon | 经度 |
lat | 纬度 |
outPixel20X | 输出20级像素坐标经度 |
outPixel20Y | 输出20级像素坐标纬度 |
由 category LMKMapView(Tools) 提供.
- (void) map2geo_withMapX: | (float) | mapX | |
mapY: | (float) | mapY | |
geoX: | (int *) | outPixel20X | |
geoY: | (int *) | outPixel20Y | |
地图opengl坐标转20级像素坐标
mapX | 地图opengl坐标X |
mapY | 地图opengl坐标Y |
outPixel20X | 输出20级像素坐标经度 |
outPixel20Y | 输出20级像素坐标纬度 |
由 category LMKMapView(Tools) 提供.
- (void) map2win_withMapX: | (float) | mapX | |
mapY: | (float) | mapY | |
winX: | (double *) | outWinX | |
winY: | (double *) | outWinY | |
地图opengl坐标转屏幕坐标
mapX | 地图opengl坐标X |
mapY | 地图opengl坐标Y |
outWinX | 输出屏幕坐标X |
outWinY | 输出屏幕坐标Y |
由 category LMKMapView(Tools) 提供.
- (void) removeAllCustomDrawOverlays |
移除所有自定义OpenGL绘制的overlay
由 category LMKMapView(CustomDrawOverlay) 提供.
- (void) removeAnnotation: | (id< LMKAnnotation >) | annotation |
- (void) removeAnnotations: | (NSArray *) | annotations |
- (void) removeCustomDrawOverlay: | (LMKCustomDrawOverlay *) | customOverlay |
- (void) removeOverlay: | (id< LMKOverlay >) | overlay |
- (void) removeOverlays: | (NSArray *) | overlays |
- (void) setCameraEnabled: | (BOOL) | enabled |
支持Camera(视角)手势,默认YES
- (void) setCenterCoordinate: | (CLLocationCoordinate2D) | centerCoordinate | |
animated: | (BOOL) | animated | |
将经纬度坐标设置为地图中心点
centerCoordinate | 经纬度坐标 |
animated | 是否开启动画 |
- (void) setCompassScreenPoint: | (CGPoint) | screenPoint | |
animated: | (BOOL) | animated | |
设置指南针的位置
screenPoint | 指南针的位置 |
animated | 是否开启动画 |
- (void) setGeojsonOptions: | (LMKGeoJSONLayerOptions *) | options |
配置geoJson设置项,注意:该接口一经调用就会开始请求geoJson数据并开始刷新地图,且在刷新前会清除缓存的geoJson数据以及已经绘制在地图上的覆盖物
options | 设置项,具体可参考LMKGeoJSONLayerOptions类 |
由 category LMKMapView(GeoJSONLayer) 提供.
- (void) setMapcenterByGeoPointX: | (int) | x | |
Y: | (int) | y | |
- (void) setRotateEnabled: | (BOOL) | enabled |
支持Rotate手势,默认YES
- (void) setScrollEnabled: | (BOOL) | enabled |
支持Scroll手势,默认YES
- (void) setStyleFileName: | (NSString *) | styleFileName | |
andIconsFileName: | (NSString *) | iconsFileName | |
支持用户设置地图的样式文件
styleFileName | style样式文件的全路径 |
iconsFileName | icons样式文件的全路径 |
- (void) setVisibleMapRect: | (LMKMapRect) | visibleMapRect | |
animated: | (BOOL) | animated | |
设置地图的平面投影(20级像素坐标)可视范围
visibleMapRect | 可视范围 |
animated | 是否开启动画 |
- (void) setZoomEnabled: | (BOOL) | enabled |
支持Zoom手势,默认YES
- (void) showAnnotations: | (NSArray *) | annotations | |
animated: | (BOOL) | animated | |
设置地图使其可以显示数组中所有的annotation, 如果数组中只有一个则直接设置地图中心为annotation的位置。
annotations | 需要显示的annotation |
animated | 是否执行动画 |
由 category LMKMapView(Annotation) 提供.
- (UIImage *) takeSnapshotInRect: | (CGRect) | rect |
- (void) win2map_withWinX: | (double) | winX | |
winY: | (double) | winY | |
mapX: | (float *) | outMapX | |
mapY: | (float *) | outMapY | |
屏幕坐标转地图opengl坐标
winX | 屏幕坐标X |
winY | 屏幕坐标Y |
outMapX | 输出地图opengl坐标X |
outMapY | 输出地图opengl坐标Y |
由 category LMKMapView(Tools) 提供.
|
readnonatomicassign |
标注数组
由 category LMKMapView(Annotation) 提供.
|
readwritenonatomicassign |
当前地图的中心点,改变该值时,地图的比例尺级别不会发生变化
|
readwritenonatomicweak |
|
readwritenonatomicassign |
logo位置, 必须在mapView.bounds之内,否则会被忽略
|
readnonatomicassign |
logo的宽高
|
readwritenonatomicassign |
地图类型,支持普通地图和夜间地图
|
readwritenonatomicassign |
设置地图可放大的最大级别,取值区间为[19,22],默认为19
maxZoomInLevel | 最大级别 |
|
readnonatomicassign |
Overlay数组
由 category LMKMapView(Overlay) 提供.
|
readwritenonatomicassign |
地图俯视角度,俯视角度 0 - 45度,0度为:视角从正上方,向下看
|
readwritenonatomicassign |
地图旋转角度,当前可使用的范围为-180~180度,大于 0度 时为逆时针旋转
|
readwritenonatomicassign |
比例尺右下角原点位置,设置的值如果比例尺显示超出bounds范围则不生效
|
readnonatomicassign |
地图的视图锚点。坐标系归一化,(0, 0)为LMKMapView左上角,(1, 1)为右下角。默认为(0.5, 0.5),即当前地图的视图中心。
|
readwritenonatomicassign |
是否显示蓝色路网,蓝色路网:用于表示地图中存在实景数据的路段。
|
readwritenonatomicassign |
显示指南针标志位,为YES时显示,默认是YES
|
readwritenonatomicassign |
是否在地图左下角显示logo
|
readwritenonatomicassign |
是否显示比例尺
|
readwritenonatomicassign |
是否显示用户位置
|
readwritenonatomicassign |
是否显示交通
|
readwritenonatomicassign |
是否支持单击地图获取POI信息,默认为YES。 对应的回调是 - (void)mapView:(LMKMapView *)mapView didTouchPois:(NSArray *)pois
|
readnonatomicassign |
当前的位置数据
|
readwritenonatomicassign |
当前地图的平面投影(20级像素坐标)可视范围
|
readwritenonatomicassign |
地图比例尺级别,可使用的地图比例尺级别的取值区间在3到maxZoomInLevel之间。