iOS GMSSyncTileLayer不起作用

时间:2015-02-23 19:53:03

标签: ios ipad gmsmapview

我正在使用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命令从未执行过。有什么问题?

1 个答案:

答案 0 :(得分:0)

你的TileLayer从未被召唤过。如果您想使用自定义类:

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

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