Ich habe einen Radius und einen Ort.So überlagern Sie einen Kreis auf einer iOS-Karte
So versuche ich, das umschließende Rechteck des Kreises zu erhalten.
- (MKMapRect)boundingMapRect{
CLLocationCoordinate2D tmp;
MKCoordinateSpan radiusSpan = MKCoordinateRegionMakeWithDistance(self.coordinate, 0, self.radius).span;
tmp.latitude = self.coordinate.latitude - radiusSpan.longitudeDelta;
tmp.longitude = self.coordinate.longitude - radiusSpanSpan.longitudeDelta;
MKMapPoint upperLeft = MKMapPointForCoordinate(tmp);
MKMapRect bounds = MKMapRectMake(upperLeft.x, upperLeft.y, self.radius * 2, self.radius * 2);
return bounds;
}
MKMapRectMake(...)
scheint in Karte Punkten gemessen Breite und Höhe zu wollen. Wie konvertiere ich den Radius in das?
Am Ende ich mache es so:
MKMapRect theMapRect = [self.overlay boundingMapRect];
CGRect theRect = [self rectForMapRect:theMapRect];
CGContextAddEllipseInRect(ctx, theRect);
CGContextFillPath(ctx);
Der Radius nicht gleich Meter auf der Karte am Ende scheint und auch der Abstand scheint nicht richtig gemessen werden. Wie geht es richtig?
Ich wäre wirklich dankbar für jeden Hinweis.
Danke, genau das, was ich gesucht habe :) – kadrian
Kein Problem. Freue mich zu helfen! –
Vielen Dank. Es funktioniert gut. – Raja