测试已测试 | ✓ |
Lang语言 | Obj-CObjective C |
许可证 | MIT |
发布上次发布 | 2016年4月 |
由Tony Arnold、Daniel Doubrovkine、Neil Ang、Donny Kurniawan和Orta Therox维护。Tony Arnold、Daniel Doubrovkine、Neil Ang、Donny Kurniawan、Orta Therox。
依赖项 | |
SDWebImage | >= 0 |
ARTiledImageView | >= 0 |
允许您将标记或自定义注释添加到标准的 UIImage
或分块 NATiledImageView
。包括召唤、多彩标记、动画、缩放和手势支持。
在您的终端中运行 pod try NAMapKit
开始。
在一个视图控制器中创建一个 NAMapView
NAMapView *mapView = [[NAMapView alloc] initWithFrame:self.view.bounds];
mapView.backgroundColor = [UIColor colorWithRed:0.000f green:0.475f blue:0.761f alpha:1.000f];
mapView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
mapView.minimumZoomScale = 0.5f;
mapView.maximumZoomScale = 1.5f;
[mapView displayMap:[UIImage imageNamed:@"australia"]];
[self.view addSubview:mapView];
添加 NADotAnnotation
注释。
NADotAnnotation *dot = [NADotAnnotation annotationWithPoint:CGPointMake(543.0f, 489.0f)];
[mapView addAnnotation:dot animated:NO];
NADotAnnotation
实现,在地图上放置一个红色的半透明点。对于自定义注释,子类化 NAAnnotation 并实现返回自定义注释视图的 createViewOnMapView
。您还可以通过实现 addToMapView
添加注释到地图,或者通过覆盖 updatePosition
来根据您的自定义逻辑定位注释。
您可以在 NAPinAnnotation.h/.m 中找到完整的自定义注释示例(多彩标记)。
您可以通过向地图注册 mapViewDelegate
来捕获手指点击和缩放更改。委托必须实现 NAMapViewDelegate 协议。
@implementation DemoViewController
- (void)viewDidLoad
{
// Register the view controller as the map's delegate
self.mapView.mapViewDelegate = self;
}
- (void)mapView:(NAMapView *)mapView tappedOnAnnotation:(NAPinAnnotation *)annotation
{
// Invoked when a user taps an annotation
}
- (void)mapView:(NAMapView *)mapView hasChangedZoomLevel:(CGFloat)level
{
// Invoked when the map zoom level changes
}
@end
参见 NAAnnotationDemoViewController.m 以获取完整示例。
NAMapKit 包括 NATiledImageMapView,支持分块地图。深缩放地图瓦片的典型组织结构包括每个缩放级别的文件夹和每个瓦片的单个 JPG 文件。您可以在这里看到这样一个文件的示例。NAMapKit 使用 ARTiledImageView。您可以使用 dzt 或其他列入 OpenSeadragon 项目工具列表中的工具生成瓦片。
有关瓷砖地图的完整示例,请参阅NATiledImageDemoViewController.m。
NAMapKit公开了两个双击手势,以便您可以使用delaysTouchesBegan
将双击优先于地图点点击。或者也可以完全自行替换它们。
如果您正在使用Interface Builder,则可以将UIScrollView添加到您的XIB中,并将类更改为NAMapView
以使用该框架。
本项目采用MIT许可。
在使用此代码时,请包含以下致谢:
包含由< breathed.com>,Tony Arnold,Daniel Doubrovkine和Orta Therox开发的NAMapKit代码。