BGMapPreview 1.1.8

BGMapPreview 1.1.8

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最新发布2017年5月

Bartlomiej Guminiak 维护。



BGMapPreview for iOS

BGMapPreview 是iOS上 UIImageView 的一个分类,用于异步创建和设置地图预览图。

功能

  • 几行代码即可创建自定义的地图预览图
  • 基于 MKMapView 构建
  • 内置缓存以提供更好的性能
  • 内置操作取消以提供更好的用户体验(例如,可重用对象)
  • 兼容 iOS 8、9、10

安装

BGMapPreview 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod "BGMapPreview"

如何使用单个标记设置地图预览?

  1. 导入
// Swift
import BGMapPreview 
// Objective-C
#import <BGMapPreview/UIImageView+BGMapPreview.h> 
  1. 初始化并配置 BGLocationDescriptor 类的对象。
// Swift
let locationDescriptor = BGLocationDescriptor()
locationDescriptor.location = CLLocation(latitude: 51.5057879, longitude: -0.0887631)

let annotationView = UIImageView(frame: CGRect(x: 0, y: 0, width: 32, height: 32))
annotationView.image = #imageLiteral(resourceName: "pin1")
locationDescriptor.annotationView = annotationView
// Objective-C
BGLocationDescriptor *locationDescriptor = [BGLocationDescriptor new];
locationDescriptor.location = [[CLLocation alloc] initWithLatitude:51.5057879f 
longitude:-0.0887631f];

UIImageView *annotationView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 32.f, 32.f)];
annotationView.image = [UIImage imageNamed:@"pin1"];
locationDescriptor.annotationView = annotationView;
  1. 执行地图预览。
// Swift
imageView.setPreviewWith(locationDescriptor)
// Objective-C
[self.imageView setPreviewWithLocationDescriptor:locationDescriptor]

更多选项

  • 传入位置描述符的 数组 以获取多个位置的地图预览。最终图像将考虑所有点以提供最佳输出。
// Swift
func setPreviewWithLocationDescriptors(_ descriptors: [Any]!)
// Objective-C
- (void)setPreviewWithLocationDescriptors:(NSArray *)descriptors;
  • 在地图预览创建时提供 占位符 图像。
// Swift
func setPreviewWithLocationDescriptors(_ descriptors: [Any]!, placeholder: UIImage!)
// Objective-C
- (void)setPreviewWithLocationDescriptors:(NSArray *)descriptors
placeholder:(UIImage *)placeholder;
  • 如果您使用 autolayout 且在启动地图预览创建时图像视图的大小尚未确定,请传入 imageSize 参数以显式定义其大小。
// Swift
func setPreviewWithLocationDescriptors(_ descriptors: [Any]!, placeholder: UIImage!, imageSize: CGSize)
// Objective-C
- (void)setPreviewWithLocationDescriptors:(NSArray *)descriptors
placeholder:(UIImage *)placeholder
imageSize:(CGSize)imageSize;
  • 根据您的注释视图配置位置描述符的 锚点。默认情况下,它水平居中且垂直底部。

  • 从 BGLocationDescriptor 中派生子类并重写 - (void)keyCache 以提供 定制的地图预览缓存。默认情况下,它基于位置创建缓存键。

使用

要运行示例项目,请克隆仓库并运行示例目标。

作者

许可证

BGMapPreview遵守MIT许可证。有关更多信息,请参阅LICENSE文件。