BaiduMap_IOSSDK_v6.6.2_Docs 6.6.2
载入中...
搜索中...
未找到
构造函数 | Protected 属性 | 属性 | 所有成员列表
BMKOverlayView类 参考

该类是地图覆盖物View的基类,提供绘制overlay的接口但本身并无实现,所有地图覆盖物View需要继承自此类 更多...

#include <BMKOverlayView.h>

类 BMKOverlayView 继承关系图:
BMKOverlayGLBasicView BMKOverlayPathView BMKTileLayerView BMK3DModelOverlayView BMKGeometryView BMKGroundOverlayView BMKMultiPointOverlayView BMKPrismOverlayView BMK3DTraceOverlayView BMKArclineView BMKCircleView BMKGeodesicLineView BMKGradientLineView BMKPolygonView BMKPolylineView BMKTextView BMKTraceOverlayView

构造函数

(nullable instancetype) - initWithOverlay:
 
(GLuint) - loadStrokeTextureImage:
 
(BOOL) - loadStrokeTextureImages:
 
(void) - setOverlayGeometryDelegate:
 设置该overlay的GeometryDelegate
 
(CGPoint) - pointForMapPoint:
 
(BMKMapPoint- mapPointForPoint:
 
(CGRect) - rectForMapRect:
 
(BMKMapRect- mapRectForRect:
 
(BOOL) - canDrawMapRect:zoomScale:
 
(void) - drawMapRect:zoomScale:inContext:
 
(void) - setNeedsDisplayInMapRect:
 
(void) - renderLinesWithPoints:pointCount:strokeColor:lineWidth:looped:
 
(void) - renderTexturedLinesWithPoints:pointCount:lineWidth:textureID:looped:
 
(void) - renderLinesWithPoints:pointCount:strokeColor:lineWidth:looped:lineDashType:
 
(void) - renderLinesWithPoints:pointCount:strokeColor:lineWidth:looped:lineDash:
 
(void) - renderTexturedLinesWithPartPoints:lineWidth:textureIndexs:isFocus:
 
(void) - renderTexturedLinesWithPartPoints:lineWidth:textureIndexs:isFocus:tileTexture:keepScale:
 
(void) - renderTexturedLinesWithPoints:pointCount:lineWidth:textureID:strokeColor:looped:tileTexture:keepScale:
 
(void) - renderTexturedPolyLineWithPoints:lineWidth:textureID:strokeColor:isFoucs:keepScale:lineJoinType:lineCapType:
 
(void) - renderMultiTexturedPolyLineWithPartPoints:lineWidth:textureIndexs:isFoucs:keepScale:lineJoinType:lineCapType:
 
(void) - renderDashPolyLineWithPoints:lineWidth:strokeColor:lineDashType:
 
(void) - renderMultiDashPolyLineWithPartPoints:lineWidth:textureIndexs:lineDashType:
 
(void) - renderRegionWithPoints:pointCount:fillColor:usingTriangleFan:
 
(void) - renderATRegionWithPoint:pointCount:fillColor:usingTriangleFan:
 
(void) - rendeCircleWithPoints:pointCount:lineWidth:fillColor:strokeColor:
 
(void) - rendePolygonWithPoints:pointCount:lineWidth:fillColor:strokeColor:
 
(void) - glRender
 

Protected 属性

package id< BMKOverlay_overlay
 
BMKMapRect _boundingMapRect
 
CGAffineTransform _mapTransform
 
id _geometryDelegate
 
id _canDrawCache
 
BOOL keepScale
 
CFTimeInterval _lastTile
 
CFRunLoopTimerRef _scheduledScaleTimer
 
struct { 
 
   unsigned int   keepAlive:1 
 
   unsigned int   levelCrossFade:1 
 
   unsigned int   drawingDisabled:1 
 
   unsigned int   usesTiledLayer:1 
 
_flags 
 

属性

id< BMKOverlayoverlay
 关联的overlay对象
 
GLuint strokeTextureID
 关联的纹理对象ID
 

详细描述

该类是地图覆盖物View的基类,提供绘制overlay的接口但本身并无实现,所有地图覆盖物View需要继承自此类

函数文档

◆ canDrawMapRect:zoomScale:

- (BOOL) canDrawMapRect: (BMKMapRect) mapRect
zoomScale: (BMKZoomScale) zoomScale 

判断ovlerlay view是否准备绘制内容 默认返回YES,如果用户设为NO,当需要绘制内容时要显示调用setNeedsDisplayInMapRect:zoomScale:方法

参数
mapRect需要更新的地图矩形区域
zoomScale当前的缩放因子
返回
如果view准备好绘制内容,返回YES,否则返回NO

◆ drawMapRect:zoomScale:inContext:

- (void) drawMapRect: (BMKMapRect) mapRect
zoomScale: (BMKZoomScale) zoomScale
inContext: (CGContextRef) context 

绘制overlay view内容 该方法默认不做任何事,子类需要重载该方法来绘制view的内容

参数
mapRect需要更新的地图矩形区域
zoomScale当前的缩放因子
context使用的graphics context

◆ glRender

- (void) glRender

绘制函数(子类需要重载来实现) since 6.0.0 无效

◆ initWithOverlay:

- (nullable instancetype) initWithOverlay: (id< BMKOverlay >) overlay

初始化并返回一个overlay view

参数
overlay关联的overlay对象
返回
初始化成功则返回overlay view,否则返回nil

◆ loadStrokeTextureImage:

- (GLuint) loadStrokeTextureImage: ("已废弃since 6.5.0,请使用BMKOverlayGLBasicView中textureImage字段") __deprecated_msg

加载纹理图片

参数
textureImage图片对象,opengl要求图片宽高必须是2的n次幂,如果图片对象为nil,则清空原有纹理
返回
openGL纹理ID, 若纹理加载失败返回0

◆ loadStrokeTextureImages:

- (BOOL) loadStrokeTextureImages: ("已废弃since 6.5.0,请使用BMKMultiTexturePolylineView中textureImages字段") __deprecated_msg

加载分段纹理绘制 所需的纹理图片

参数
textureImages必须UIImage数组,opengl要求图片宽高必须是2的n次幂,否则,返回NO,无法分段纹理绘制
返回
是否成功

◆ mapPointForPoint:

- (BMKMapPoint) mapPointForPoint: (CGPoint) point

将overlay view坐标转为直角坐标

参数
pointview坐标
返回
对应的直角坐标

◆ mapRectForRect:

- (BMKMapRect) mapRectForRect: (CGRect) rect

将overlay view区域转为二维地图投影区域

参数
rect指定的view矩形
返回
对应的二维地图投影矩形

◆ pointForMapPoint:

- (CGPoint) pointForMapPoint: (BMKMapPoint) mapPoint

将直角坐标转为overlay view坐标

参数
mapPoint直角坐标
返回
对应的view坐标

◆ rectForMapRect:

- (CGRect) rectForMapRect: (BMKMapRect) mapRect

将二维地图投影矩形转为overlay view矩形

参数
mapRect二维地图投影矩形
返回
对应的view矩形

◆ rendeCircleWithPoints:pointCount:lineWidth:fillColor:strokeColor:

- (void) rendeCircleWithPoints: (BMKMapPoint *) points
pointCount: (NSUInteger) pointCount
lineWidth: (CGFloat) lineWidth
fillColor: (UIColor *) fillColor
strokeColor: ("已废弃since 6.0.0,内部无实现") __deprecated_msg 

使用OpenGLES 绘制圆

参数
points直角坐标点
pointCount点个数
lineWidth线宽
fillColor填充颜色
strokeColor线颜色

◆ rendePolygonWithPoints:pointCount:lineWidth:fillColor:strokeColor:

- (void) rendePolygonWithPoints: (BMKMapPoint *) points
pointCount: (NSUInteger) pointCount
lineWidth: (CGFloat) lineWidth
fillColor: (UIColor *) fillColor
strokeColor: ("已废弃since 6.0.0,内部无实现") __deprecated_msg 

使用OpenGLES 绘制Polygon

参数
points直角坐标点
pointCount点个数
lineWidth线宽
fillColor填充颜色
strokeColor线颜色

◆ renderATRegionWithPoint:pointCount:fillColor:usingTriangleFan:

- (void) renderATRegionWithPoint: (BMKMapPoint *) points
pointCount: (NSUInteger) pointCount
fillColor: (UIColor *) fillColor
usingTriangleFan: ("已废弃since 6.0.0,内部无实现") __deprecated_msg 

使用OpenGLES 绘制区域(支持凹多边形)

参数
points直角坐标点
pointCount点个数
fillColor填充颜色
usingTriangleFanYES对应GL_TRIANGLE_FAN, NO对应GL_TRIANGLES

◆ renderDashPolyLineWithPoints:lineWidth:strokeColor:lineDashType:

- (void) renderDashPolyLineWithPoints: (NSArray< NSValue * > *) points
lineWidth: (CGFloat) lineWidth
strokeColor: (UIColor *) strokeColor
lineDashType: ("已废弃since 6.0.0,内部无实现") __deprecated_msg 

使用OpenGLES 按指定单色绘制虚线 since 5.0.0

参数
points墨卡托坐标点转换的NSValue
lineWidthOpenGLES支持线宽尺寸
strokeColor虚线颜色
lineDashType虚线样式

◆ renderLinesWithPoints:pointCount:strokeColor:lineWidth:looped:

- (void) renderLinesWithPoints: (BMKMapPoint *) points
pointCount: (NSUInteger) pointCount
strokeColor: (UIColor *) strokeColor
lineWidth: (CGFloat) lineWidth
looped: ("已废弃since 6.0.0,内部无实现") __deprecated_msg 

使用OpenGLES 指定颜色绘制线

参数
points直角坐标点
pointCount点个数
strokeColor线颜色
lineWidthOpenGLES支持线宽尺寸
looped是否闭合, 如polyline会设置NO, polygon会设置YES.

◆ renderLinesWithPoints:pointCount:strokeColor:lineWidth:looped:lineDash:

- (void) renderLinesWithPoints: (BMKMapPoint *) points
pointCount: (NSUInteger) pointCount
strokeColor: (UIColor *) strokeColor
lineWidth: (CGFloat) lineWidth
looped: (BOOL) looped
lineDash: ("已废弃since 5.0.0,内部无实现,请使用renderLinesWithPoints: pointCount: strokeColor: lineWidth:looped: lineDashType:") __deprecated_msg 

使用OpenGLES 绘制线

参数
points直角坐标点
pointCount点个数
strokeColor线颜色
lineWidthOpenGLES支持线宽尺寸
looped是否闭合, 如polyline会设置NO, polygon会设置YES.
lineDash是否虚线样式

◆ renderLinesWithPoints:pointCount:strokeColor:lineWidth:looped:lineDashType:

- (void) renderLinesWithPoints: (BMKMapPoint *) points
pointCount: (NSUInteger) pointCount
strokeColor: (UIColor *) strokeColor
lineWidth: (CGFloat) lineWidth
looped: (BOOL) looped
lineDashType: ("已废弃since 6.0.0,内部无实现") __deprecated_msg 

使用OpenGLES 指定颜色绘制线 since 5.0.0

参数
points直角坐标点
pointCount点个数
strokeColor线颜色
lineWidthOpenGLES支持线宽尺寸
looped是否闭合, 如polyline会设置NO, polygon会设置YES.
lineDashType虚线样式

◆ renderMultiDashPolyLineWithPartPoints:lineWidth:textureIndexs:lineDashType:

- (void) renderMultiDashPolyLineWithPartPoints: (NSArray *) partPt
lineWidth: (CGFloat) lineWidth
textureIndexs: (NSArray< NSNumber * > *) textureIndexs
lineDashType: ("已废弃since 6.0.0,内部无实现") __deprecated_msg 

使用OpenGLES 分段多颜色虚线 since 5.0.0

参数
partPt分段墨卡托坐标点转换为的NSValue
lineWidthOpenGLES支持线宽尺寸
textureIndexs分段纹理索引,使用colors;加载
lineDashType虚线样式

◆ renderMultiTexturedPolyLineWithPartPoints:lineWidth:textureIndexs:isFoucs:keepScale:lineJoinType:lineCapType:

- (void) renderMultiTexturedPolyLineWithPartPoints: (NSArray *) partPt
lineWidth: (CGFloat) lineWidth
textureIndexs: (NSArray< NSNumber * > *) textureIndexs
isFoucs: (BOOL) isFoucs
keepScale: (BOOL) keepScale
lineJoinType: (BMKLineJoinType) lineJoinType
lineCapType: ("已废弃since 6.0.0,内部无实现") __deprecated_msg 

使用OpenGLES 分段多纹理/多颜色绘制线 since 5.0.0

参数
partPt分段墨卡托坐标点转换为的NSValue
lineWidthOpenGLES支持线宽尺寸
textureIndexs分段纹理索引,使用- (BOOL)loadStrokeTextureImages:(UIImage *)textureImage;加载
isFoucs高亮(该属性已废弃)
keepScale纹理图片是否缩放(纹理绘制生效)
lineJoinType拐角衔接方式(默认kBMKLineJoinBevel)
lineCapType头尾处理样式(默认kBMKLineCapButt)

◆ renderRegionWithPoints:pointCount:fillColor:usingTriangleFan:

- (void) renderRegionWithPoints: (BMKMapPoint *) points
pointCount: (NSUInteger) pointCount
fillColor: (UIColor *) fillColor
usingTriangleFan: ("已废弃since 6.0.0,内部无实现") __deprecated_msg 

使用OpenGLES 绘制区域

参数
points直角坐标点
pointCount点个数
fillColor填充颜色
usingTriangleFanYES对应GL_TRIANGLE_FAN, NO对应GL_TRIANGLES

◆ renderTexturedLinesWithPartPoints:lineWidth:textureIndexs:isFocus:

- (void) renderTexturedLinesWithPartPoints: (NSArray *) partPt
lineWidth: (CGFloat) lineWidth
textureIndexs: (NSArray *) textureIndexs
isFocus: ("已废弃since 5.0.0,内部无实现") __deprecated_msg 

使用OpenGLES 分段纹理绘制线

参数
partPt分段直角坐标点
lineWidthOpenGLES支持线宽尺寸
textureIndexs分段纹理索引,使用- (void)loadStrokeTextureImage:(UIImage *)textureImage;加载
isFoucs是否使用分段纹理绘制

◆ renderTexturedLinesWithPartPoints:lineWidth:textureIndexs:isFocus:tileTexture:keepScale:

- (void) renderTexturedLinesWithPartPoints: (NSArray *) partPt
lineWidth: (CGFloat) lineWidth
textureIndexs: (NSArray *) textureIndexs
isFocus: (BOOL) isFoucs
tileTexture: (BOOL) tileTexture
keepScale: ("已废弃since 5.0.0,内部无实现,请使用renderMultiTexturedPolyLine") __deprecated_msg 

使用OpenGLES 分段纹理绘制线

参数
partPt分段直角坐标点
lineWidthOpenGLES支持线宽尺寸
textureIndexs分段纹理索引,使用- (void)loadStrokeTextureImage:(UIImage *)textureImage;加载
isFoucs是否使用分段纹理绘制
tileTexture是否纹理图片平铺绘制
keepscale纹理图片是否缩放(tileTexture为YES时生效)

◆ renderTexturedLinesWithPoints:pointCount:lineWidth:textureID:looped:

- (void) renderTexturedLinesWithPoints: (BMKMapPoint *) points
pointCount: (NSUInteger) pointCount
lineWidth: (CGFloat) lineWidth
textureID: (GLuint) textureID
looped: ("已废弃since 6.0.0,内部无实现") __deprecated_msg 

使用OpenGLES 按指定纹理绘制线

参数
points直角坐标点
pointCount点个数
lineWidthOpenGLES支持线宽尺寸
textureID纹理ID,使用- (void)loadStrokeTextureImage:(UIImage *)textureImage;加载
looped是否闭合, 如polyline会设置NO, polygon会设置YES.

◆ renderTexturedLinesWithPoints:pointCount:lineWidth:textureID:strokeColor:looped:tileTexture:keepScale:

- (void) renderTexturedLinesWithPoints: (BMKMapPoint *) points
pointCount: (NSUInteger) pointCount
lineWidth: (CGFloat) lineWidth
textureID: (GLuint) textureID
strokeColor: (UIColor *) strokeColor
looped: (BOOL) looped
tileTexture: (BOOL) tileTexture
keepScale: ("已废弃since 6.0.0,内部无实现") __deprecated_msg 

使用OpenGLES 按指定单纹理/单色绘制线

参数
points直角坐标点
pointCount点个数
lineWidthOpenGLES支持线宽尺寸
textureID纹理ID,使用- (void)loadStrokeTextureImage:(UIImage *)textureImage;加载
strokeColor画笔颜色
looped是否闭合, 如polyline会设置NO, polygon会设置YES.
tileTexture是否纹理图片平铺绘制
keepScale纹理图片是否缩放(tileTexture为YES时生效)

◆ renderTexturedPolyLineWithPoints:lineWidth:textureID:strokeColor:isFoucs:keepScale:lineJoinType:lineCapType:

- (void) renderTexturedPolyLineWithPoints: (NSArray< NSValue * > *) points
lineWidth: (CGFloat) lineWidth
textureID: (GLuint) textureID
strokeColor: (UIColor *) strokeColor
isFoucs: (BOOL) isFoucs
keepScale: (BOOL) keepScale
lineJoinType: (BMKLineJoinType) lineJoinType
lineCapType: ("已废弃since 6.0.0,内部无实现") __deprecated_msg 

使用OpenGLES 按指定单色/单纹理绘制线 since 5.0.0

参数
points墨卡托坐标点转换的NSValue
lineWidthOpenGLES支持线宽尺寸
textureID纹理ID,使用- (void)loadStrokeTextureImage:(UIImage *)textureImage;加载
strokeColor线颜色
isFoucs高亮(该属性已废弃)
keepScale纹理图片是否缩放((纹理绘制生效)
lineJoinType拐角衔接方式(默认kBMKLineJoinBevel)
lineCapType头部处理方式(默认kBMKLineCapButt)

◆ setNeedsDisplayInMapRect:

- (void) setNeedsDisplayInMapRect: (BMKMapRect) mapRect

使view在给定矩形的区域无效,系统将重绘该区域

参数
mapRect需要更新的区域

◆ setOverlayGeometryDelegate:

- (void) setOverlayGeometryDelegate: (id) delegate

设置该overlay的GeometryDelegate

类成员变量说明

◆ _boundingMapRect

- (BMKMapRect) _boundingMapRect
protected

◆ _canDrawCache

- (id) _canDrawCache
protected

◆ [struct]

struct { ... } BMKOverlayView::_flags

◆ _geometryDelegate

- (id) _geometryDelegate
protected

◆ _lastTile

- (CFTimeInterval) _lastTile
protected

◆ _mapTransform

- (CGAffineTransform) _mapTransform
protected

◆ _overlay

- (package id<BMKOverlay>) _overlay
protected

◆ _scheduledScaleTimer

- (CFRunLoopTimerRef) _scheduledScaleTimer
protected

◆ drawingDisabled

- (unsigned int) drawingDisabled

◆ keepAlive

- (unsigned int) keepAlive

◆ keepScale

- (BOOL) keepScale
protected

◆ levelCrossFade

- (unsigned int) levelCrossFade

◆ usesTiledLayer

- (unsigned int) usesTiledLayer

属性说明

◆ overlay

- (id<BMKOverlay>) overlay
readnonatomicassign

关联的overlay对象

◆ strokeTextureID

- (GLuint) strokeTextureID
readnonatomicassign

关联的纹理对象ID


该类的文档由以下文件生成: