Затемнение цвета фона MKMapView без затемнения MKOverlay
Как можно затемнить MKMapView
цвет фона, а не затемнение MKOverlay
в MKMapView
в то же время - похоже на вид карты в приложении Nike+.
2 ответа
Решение
Хорошо, у меня есть решение здесь, прежде чем добавить другие наложения на карту, вы можете добавить общее наложение в качестве фона на карту, поэтому цвет фона карты изменяется, но наложение остается прежним, вот коды
MKMapRect worldRect = MKMapRectWorld;
MKMapPoint point1 = MKMapRectWorld.origin;
MKMapPoint point2 = MKMapPointMake(point1.x+worldRect.size.width,point1.y);
MKMapPoint point3 = MKMapPointMake(point2.x, point2.y+worldRect.size.height);
MKMapPoint point4 = MKMapPointMake(point1.x, point3.y);
MKMapPoint points[4] = {point1,point2,point3,point4};
self.polygon = [MKPolygon polygonWithPoints:points count:4];
[self.runMapView addOverlay:self.polygon];
Swift 2.0
let worldRect = MKMapRectWorld
let point1 = MKMapRectWorld.origin
let point2 = MKMapPointMake(point1.x + worldRect.size.width, point1.y)
let point3 = MKMapPointMake(point2.x, point2.y + worldRect.size.height)
let point4 = MKMapPointMake(point1.x, point3.y)
var points = [point1, point2, point3, point4]
let polygon = MKPolygon(points: &points, count: points.count)
mapView.addOverlay(polygon)