19
まれに、マップ上のオーバーレイ(小さな青い点)が奇妙なグレア(画像のように大きな青色の領域)を取得します。時々ズームインまたはズームアウトすることで修正されることがありますが、必ずしもそうではありません。なぜこのようなことが起こるのかは何も分かりません。どのようにレンダリングされるかは何か?スウィフトMKMapViewポリゴンオーバーレイグリッチ
func drawLocations(_ loc: CLLocation)
{
let center = CLLocationCoordinate2D(latitude: loc.coordinate.latitude, longitude: loc.coordinate.longitude)
let lat: CLLocationDegrees = center.latitude
let long: CLLocationDegrees = center.longitude
var points = [CLLocationCoordinate2DMake(lat,long),CLLocationCoordinate2DMake(lat,long),CLLocationCoordinate2DMake(lat,long),CLLocationCoordinate2DMake(lat,long)]
let polygon = MKPolygon(coordinates: &points, count: points.count)
DispatchQueue.main.async(execute: {
self.mapView.add(polygon)
})
}
func mapView(_ mapView: MKMapView!, rendererFor overlay: MKOverlay!) -> MKOverlayRenderer!
{
if overlay is MKPolygon
{
let polygonView = MKPolygonRenderer(overlay: overlay)
polygonView.lineWidth = 4
polygonView.strokeColor = UIColor(red: 30/255.0, green: 12/255.0, blue: 242/255.0, alpha: 0.4)
return polygonView
}
return nil
}
私の場合、私は素晴らしいサークルを得ています。その間に描画コードが実行されていないことは確かですか? – Ramis
それは私が描画コードを持っている唯一の方法です。それはランダムであるようです。たいていの場合は大丈夫ですが、スクリーンにドットをつけるとオープンになります@ramis – Steve
これはシミュレータでのみ起こりますか? –