0

我将 GMSMapView 用于 iPad 应用程序。我想在地图中显示自定义图块,但我不能。

我创建了自定义 TileLayer.h

#import <GoogleMaps/GoogleMaps.h>
  @interface TileLayer : GMSSyncTileLayer
@end

和 TileLayer.m

#import "TileLayer.h"
@implementation TileLayer
-(UIImage *) tileForX:(NSUInteger)x y:(NSUInteger)y zoom:(NSUInteger)zoom {
    NSLog(@"tile");
}
@end

在 MainView.m

viewMap.mapType = kGMSTypeNone;    
GMSTileURLConstructor urls = ^(NSUInteger x, NSUInteger y, NSUInteger zoom) {
        NSString *url = [NSString stringWithFormat:@"http://www.example.com/images/tile/%d_%d_%d.jpg",zoom,x,y];
        return [NSURL URLWithString:url];
    };
    GMSURLTileLayer *layer = [GMSURLTileLayer tileLayerWithURLConstructor:urls];
    layer.zIndex = 100;
    layer.map = viewMap;

NSLog 命令从未执行。怎么了?

4

1 回答 1

0

你的 TileLayer 永远不会被调用。如果您喜欢使用自定义类:

    layer = [[TileLayer alloc] init]
    layer.map = mapView

GMSURLTileLayer 是另一种添加自定义图块的方法。

于 2016-01-25T07:38:28.740 回答