甲方需求:需要用谷歌的地图资源 而谷歌地图iOS和安卓的SDK早已不在墙内 高德和谷歌的地图经纬度算法一致 谷歌地图比较新更新比较及时 这也是甲方一定要谷歌的原因吧。
言归正传:本文主要使用了 瓦片替换这种方法 把高德中的地图切片完全替换成谷歌的地图切片 这不是什么黑科技 高德地图中的DEMO中也有这种API的使用示例;不过不推荐使用 高德地图的SDK 太坑 使用苹果原生的 MapKit 完全可以满足需求 直接上代码
- (MKTileOverlay *)constructTileOverlayWithType
{
MKTileOverlay *tileOverlay = nil;
tileOverlay = [[MKTileOverlay alloc] initWithURLTemplate:kTileOverlayRemoteServerTemplate];
tileOverlay.minimumZ = kTileOverlayRemoteMinZ;
tileOverlay.maximumZ = kTileOverlayRemoteMaxZ;
return tileOverlay;
}
先 定义一个
MKTileOverlay
然后 change
- (void)changeTileType { [self.mapView removeOverlay:self.tileOverlay]; self.tileOverlay = [self constructTileOverlayWithType]; [self.mapView addOverlay:self.tileOverlay]; }