2017-06-21 3 views
0

Ich benutze Google Maps auf meiner Android App, laden mehrere Polygone auf die Karte, die eine signifikante Verzögerung verursacht. Meine Karte ist ziemlich gezoomt, so dass viele Polygone nicht einmal auf dem Bildschirm angezeigt werden (aber immer noch Lag verursachen, weil sie existieren).zeigen/verbergen Polygone basierend auf dem, was der Bildschirm zeigt

Gibt es eine Möglichkeit, nur Polygone anzuzeigen, die auf dem Bildschirm enthalten sind und die anderen ausblenden? (Polygone wird angezeigt oder verborgen erhalten auf, was die Bildschirmansicht)

Dank

Antwort

0

Get Grenzen für sichtbaren Teil, etwa wie folgt:

LatLngBounds bounds = mMap.getProjection().getVisibleRegion().latLngBounds; 

dann bestimmen, ob Ihr Polygon innen sichtbare Teil Grenzen ist (durch Aufruf von bounds.contains(....) für jeden Polygon-Scheitelpunkt). Wenn nicht, zeichne kein Polygon.

Natürlich müssen Sie mit Kamerawechselereignissen umgehen, um sichtbare Grenzen neu zu berechnen und fehlende Polygone bei Bedarf zu zeichnen (wenn ihr Teil der Karte sichtbar wird).

Verwandte Themen