一、設(shè)置MATileOverlay
1.根據(jù)URL模版(即指向相關(guān)圖層圖片的URL)創(chuàng)建MATileOverlay對(duì)象贵扰。
2.設(shè)置MATileOverlay的可見最大/最小Zoom值仇穗。
3.設(shè)定MATileOverlay的可渲染區(qū)域。
4.將MATileOverlay對(duì)象添加到MAMapView中戚绕。
5.實(shí)現(xiàn)MAMapViewDelegate的mapView:viewForOverlay:函數(shù)纹坐,在瓦片顯示在地圖View上。
let tileOverlay = MATileOverlay.init(urlTemplate: "[https://mt3.google.cn/maps/vt?lyrs=y@194&hl=zh-CN&gl=cn&x={x}&y={y}&z={z}"](https://mt3.google.cn/maps/vt?lyrs=y@194&hl=zh-CN&gl=cn&x=%7Bx%7D&y=%7By%7D&z=%7Bz%7D%22))
/* minimumZ 是tileOverlay的可見最小Zoom值. */
tileOverlay!.minimumZ = 1
/* minimumZ 是tileOverlay的可見最大Zoom值. */
tileOverlay!.maximumZ = 20
/* boundingMapRect 是用來(lái) 設(shè)定tileOverlay的可渲染區(qū)域. */
tileOverlay!.boundingMapRect = MAMapRectWorld
mapView.add(tileOverlay)
二舞丛、代理方法調(diào)用
func mapView(_ mapView: MAMapView!, rendererFor overlay: MAOverlay!) -> MAOverlayRenderer! {
// if (overlay.isKind(of: MATileOverlay.self))
// {
//
// }
// return nil;
let renderer = MATileOverlayRenderer.init(tileOverlay: (overlay as! MATileOverlay))
return renderer;
}
ps這里有個(gè)坑:
如果不把if注釋掉耘子,那你在定位地方永遠(yuǎn)看不到谷歌的衛(wèi)星圖果漾,因?yàn)檫@個(gè)是返回nil的時(shí)候是返回高德正常的圖層,只有在國(guó)外才會(huì)顯示Google的谷誓,所以要全部覆蓋绒障,就全部返回自己定義的圖層。