2 votes

MKTileOverlay Les tuiles disparaissent après avoir dépassé le maximumZ

Les tuiles sont chargées à partir du disque via loadTileAtPath / URLForTilePath avec une sous-classe MKTileOverlay .

Lors du réglage de la maximumZ de la superposition, les tuiles au-delà de ce niveau ne sont (comme prévu) plus chargées. Cependant, les tuiles du niveau supérieur disparaissent également. Avez-vous une idée ?

2voto

Bob de Graaf Points 1054

Ça fait un moment pour moi, mais j'ai eu quelques problèmes avec ça dans le passé. Je pense que ça pourrait être quelque chose avec la mise en cache interne ou les superpositions.

Par exemple, si les tuiles disparaissent lors de la transition entre le niveau de zoom 20 et le niveau de zoom 21, et que votre source de tuiles a un niveau de zoom maximal de 20, alors le comportement que vous observez pourrait être le résultat de polylignes invalidant des portions du cache de tuiles rendues de MKMapView.

Il se peut que ce que vous voyez se produise parce que votre source de tuiles ne fournit pas de tuiles à un niveau de zoom suffisamment élevé pour la quantité de zoom que vous essayez de faire. Normalement, le cache de rendu MKMapView d'Apple fournit un sur-zoom limité, mais lorsque vous faites quelque chose qui déclenche un nouveau rendu (comme l'ajout de lignes), le cache de rendu est invalidé et le pseudo-overzoom cesse de fonctionner.

Cependant, j'ai aussi vu une fois une solution qui consistait simplement à changer le niveau de la superposition, Changé de "MKOverlayLevelAboveLabels" en [mapView addOverlay:overlay level:MKOverlayLevelAboveRoads] ;

J'espère que ces suggestions vous permettront d'aller un peu plus loin :)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X