Custom Marker Leistung iOS, Absturz mit Ergebnis "((null)) war falsch: Erreicht die maximale Anzahl der Textur Atlanten, kann nicht mehr zuordnen."

8

Ich habe Google Maps in meine Anwendung integriert und verwende Google Places API. Nachdem ich alle Ergebnisse der Google Places-API (ca. 60) erhalten habe, zeige ich sie mit Hilfe der benutzerdefinierten Markierung an. Der benutzerdefinierte Marker, den ich mache, besteht aus "Place Image" und "Place Name", weshalb ich ihn zuerst in einer UIView zeichnen und dann als UIImage mit Hilfe der folgenden Funktion rendern muss

%Vor%

Zuerst werden alle Marker gerendert und gezeichnet.

Jetzt habe ich einen Schieberegler von 100m bis 5km, der als Suchradius-Optimierer fungiert. Wenn der Schieberegler bewegt wird (etwa 2 km), werden alle Markierungen entfernt und nur die Markierungen, deren Abstand vom Benutzerstandort kleiner ist als der Schiebereglerwert, werden erneut gezeichnet. Während ich die Slider-Funktionalität teste, stürzt die Anwendung ab und sagt

  

((null)) war falsch: Die maximale Anzahl an Texturatlanten wurde erreicht, mehr kann nicht zugewiesen werden.

Ich lade Screenshots hoch, um die Situation besser zu verstehen. Bitte helfen.

Auch zu erwähnen, in den Bildschirmen sehen Sie grüne Markierungen sowie blaue Markierungen. Blaue Marker sind diejenigen, die näher am Benutzer liegen, während grüne Marker weit entfernt sind. Da sich der Benutzerstandort ändern wird, gibt es 2 Fälle:

  1. Wenn es sich einem grünen Marker nähert, wird es zu einem blauen Marker
  2. Wenn es weit von einem blauen Marker entfernt ist, wird es zu einem grünen Marker.
manish_kumar 01.04.2015, 12:05
quelle

1 Antwort

2

Ich arbeite an einer App, bei der sich mehrere tausend Avatare auf der Karte bewegen können und auch auf diesen Fehler stoßen. Clustering ist eine mögliche Lösung, aber da sich so viele Avatare bewegen, vermute ich, dass die Berechnungen zu CPU-intensiv sind.

Die Lösung, die ich verwende, besteht darin, einen Verweis auf das Basis-Avatarbild zu behalten und es zu verwenden, wenn & gt; 50 Avatare sind auf dem Bildschirm. Nur wenn es & lt; 50 Avatare auf dem Bildschirm, dann werde ich einzigartige Bilder für jeden Avatare mit ihren Namen generieren.

%Vor%     
Cymric 11.07.2015 08:27
quelle