項目中涉及到運動軌跡,不希望別人看到自己的運動軌跡時可以隱藏地圖的底圖。
使用MKPolygon可以在MKMapView上添加遮蓋層,嘗試添加一個覆蓋全世界的polygon失敗,猜想可能是因為東經180度和西經180度在地球上是同一條線所以添加失敗,因此使用兩個polygon來覆蓋全球。
funccreatePolygon1() ->MKPolygon{
// render whole map view for map hidden
letpoint1 =CLLocationCoordinate2D(latitude:-90, longitude:0)
letpoint2 =CLLocationCoordinate2D(latitude:-90, longitude:180)
letpoint3 =CLLocationCoordinate2D(latitude:90, longitude:180)
letpoint4 =CLLocationCoordinate2D(latitude:90, longitude:0)
letpoints = [point1, point2, point3, point4]
returnMKPolygon(coordinates: points, count: points.count)
}
funccreatePolygon2() ->MKPolygon{
// render whole map view for map hidden
letpoint1 =CLLocationCoordinate2D(latitude:-90, longitude:-180)
letpoint2 =CLLocationCoordinate2D(latitude:-90, longitude:0)
letpoint3 =CLLocationCoordinate2D(latitude:90, longitude:0)
letpoint4 =CLLocationCoordinate2D(latitude:90, longitude:-180)
letpoints = [point1, point2, point3, point4]
returnMKPolygon(coordinates: points, count: points.count)
}