Ich arbeite an einer iPhone/iPad App, die halbtransparente gekachelte Karten-Overlays über MKMapView und MKOverlay verwendet.Verhindern, dass Overlays beim Zoomen verschwinden - MKMapView & MKOverlay
Ich möchte Benutzer in der Lage sein, tief in die Karten zu vergrößern, aber die Auflösung meiner Karten-Overlays geht nur auf Ebene 6.
Ich will nicht Zoomen begrenzen.
Aber ... Wenn ein Benutzer "zu weit" zoomt und dann zu einer neuen Kachel scrollt, wenn sie tiefer gezoomt sind als der Baum der Überlagerungskacheln, wird meine Überlagerung nicht gezeichnet.
Ich möchte das Overlay zeichnen, auch wenn der Benutzer tief eingezoomt ist.
Gibt es Best Practices, um dies zu erreichen?
Die beiden Optionen, die ich mit gekommen sind:
1) ein Limit setzen, wie weit Benutzer vergrößern. Nicht ideal, da selbst wenn die Überlagerung eine niedrige Auflösung aufweist, sie sich wahrscheinlich immer noch innerhalb des Farbbereichs der Transparenz befinden und das Verschwinden der transparenten Überschicht irreführend ist.
2) Pre-render Fliesen, die viel tiefer gehen als sie sonst ... Das funktioniert, aber es bringt meine App um eine Größenordnung in der Größe.
Es muss einen besseren Weg geben. Irgendwelche Ideen???
UPDATE: Das nächste Beispiel Code zu dem, was ich tue, ist Apples TileMap-Beispiel von WWDC 2010. Ihr Code leidet unter dem gleichen Problem - wenn Sie "zu weit" gezoomt wird das Karten-Overlay nicht angezeigt.
HazardMap ist Ein gutes Beispiel, aber es generiert algorithmisch Kacheln. Ich verwende Kacheln, die mit gdal2tiles aus einer anderen Karte geschnitten werden. – radven