MBMapKitGoogleStyler 0.1.0

MBMapKitGoogleStyler 0.1.0

Michael Biggs 维护。



  • 作者
  • jmbiggs

MBMapKitGoogleStyler

CI Status Version License Platform

简介

注意:这是由 fmo91 编写的 MapKitGoogleStyler 的 Objective-C 版本。如果您无法使用 Swift 或不愿意在项目中使用 Swift,请使用它;否则,您可以使用 原始版本

MBMapKitGoogleStyler 允许您包含 Google Maps JSON 样式,您可以在 此处 创建它们,并自定义 MKMapView 以便看起来就像您想要的那样(或您的客户)。包含此库非常非常简单。

在此处可以找到一个详细介绍概念和 Swift 版本使用的文章: https://medium.com/@ortizfernandomartin/customize-mapkits-mkmapview-with-google-maps-styling-wizard-a5dcc095e19f#.ss3dencgh

示例

要运行示例项目,请克隆仓库,然后首先从 Example 目录运行 pod install

要轻松地在一个 MKMapView 上获得样式

  1. 在这里创建您的样式,并生成一个 JSON 文件。

  2. 将 JSON 放在您的项目中一个纯文本文件中。您可以为它命名任何您想要的,在这个示例中我将它命名为 'MapStyle.json'。

  3. 将 MBMapKitGoogleStyler 导入到您的视图控制器

#import <MBMapKitGoogleStyler/MBMapKitGoogleStyler.h>
  1. 确保您的视图控制器是 MKMapViewDelegate,并实现 -mapViewrendererForOverlay

    接口声明

@interface MBViewController () <MKMapViewDelegate>

在 MKMapView 上设置委托(在 -viewDidLoad 中)

[_mapView setDelegate:self];

实现代理方法

- (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id<MKOverlay>)overlay
{
    MKTileOverlay * tileOverlay = (MKTileOverlay*)overlay;
    if (tileOverlay) {
        return [[MKTileOverlayRenderer alloc] initWithTileOverlay:tileOverlay];
    } else {
        return [[MKOverlayRenderer alloc] initWithOverlay:overlay];
    }
}
  1. 编写一个函数来将瓦片覆盖添加到您的地图视图中(确保您导入了名为您命名的 JSON 文件)
- (void)configureTileOverlay {
    // import the JSON file
    NSString * overlayFileURLString = [[NSBundle mainBundle] pathForResource:@"MapStyle" ofType:@"json"];

    NSURL * overlayFileURL = [NSURL fileURLWithPath:overlayFileURLString];
    MKTileOverlay * tileOverlay = [MBMapKitGoogleStyler buildOverlayWithJSONFileURL:overlayFileURL];
    [_mapView addOverlay:tileOverlay];
}

在设置委托后调用它(-viewDidLoad)

[_mapView setDelegate:self];
[self configureTileOverlay];

需求

  • MapKit

安装

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

pod 'MBMapKitGoogleStyler'

作者

jmbiggs, [email protected] fmo91, [email protected] (原始 Swift 版本)

许可

MBMapKitGoogleStyler 在 MIT 许可下提供。有关更多信息,请参阅许可证文件。