0

iPad アプリに GMSMapView を使用しています。カスタム タイルをマップに表示したいのですが、できませんでした。

カスタム 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 は、カスタム タイルを追加するもう 1 つの方法です。

于 2016-01-25T07:38:28.740 に答える