2016-04-27 9 views
2

Ich rufe API und erhalten Breite, Länge, Titel und viele andere Daten und speichern sie in benutzerdefinierten Datenstruktur. Ich bekomme 20 Ergebnisse pro Anfrage.(Swift 2.1) Lade Anmerkungen für den sichtbaren Bereich in MKMapView

Also ich muss nur einige dieser 20 Ergebnisse in den sichtbaren Bereich von MKMapView zeigen. Wenn ein Benutzer den Kartenbereich ändert, sollte ein API-Aufruf erfolgen, und meine benutzerdefinierte Datenstruktur wird gefüllt und wieder nur im sichtbaren Bereich gezeichnet.

Ich rufe API wieder in mapView: regionDidChangeAnimated Methode, aber ich bin nicht in der Lage, Annotation nur im sichtbaren Kartenbereich anzuzeigen.

Kann mir jemand helfen herauszufinden, wie ich Annotation nur sichtbar sichtbar machen kann?

Hinweis: This ist eine gleiche Frage, aber für Objective-C und ich verstehe nicht die Antwort von @Smidt, und wie ich diesen Code verwenden kann.

+0

Es gibt Online-Code-Konverter wie [objectivec2swift] (https://objectivec2swift.com/#/converter/code) – vadian

Antwort

0

MKMapView hat visibleMapRect Attribut, dann können Sie mit Funktion MKMapRectContainsPoint

let point = CLLocationCoordinate2D(latitude: 0.0, longitude: 0.0) 
let mapContainsPoint = MKMapRectContainsPoint(map.visibleMapRect, MKMapPointForCoordinate(point));` 
Verwandte Themen