使用 MBMapSnapshotter 从 MapBox.com 静态图片服务获取图像,应用您的自定义样式。下载图像后,该类将调用一个带有 MBSnapshot 对象的块,您可以从该对象中检索 UIImage 本身,并为给定的 CLLocationCoordinate2d 获取图像中的 CGPoint(用于在图像上绘制自定义标记或路线)。
将此仓库作为您的 git 仓库的子模块或 simply fork 它。您还需要 AFNetworking。我目前正在工作于 CocoaPods 的 Podspec。
#import <CLLocation/CLLocation.h>
#import "AFNetworking.h"
#import "MBMapSnapshotter.h"
- (void)takeSnapshot {
CLLocationCoordinate2D coordnate = CLLocationCoordnate2DMake(52.516667, 13.383333); //Berlin
MBMapSnapshotter *mapSnapShotter = [[MBMapSnapshotter alloc]init];
[mapSnapShotter setMapName:@"examples.map-9ijuk24y"];
[mapSnapShotter getSnapshotWithCenter:coordinate size:CGSizeMake(480, 320) zoomLevel:14 finishingBlock:^(MBSnapshot *snapshot, NSError *error) {
if (error){
NSLog(@"Error %@", error);
} else {
[_imageView setImage snapshot.image];
}
}];
}
您也可以使用
- (CGPoint)pointForCoordinate:(CLLocationCoordinate2D)coordinate来获取给定坐标的点。