2016-05-27 5 views
1

Ich würde gerne den hier android SDK verwenden, um eine Route zu folgen, die viele Wegpunkte haben (um einen Müllsammelwagen durch alle Straßen einer Nachbarschaft zu führen).Wie navigiere ich durch mehr als 32 Wegpunkte?

Das Problem ist, dass, wenn ich einem RoutePlan mehr als 32 Wegpunkte hinzufüge, die Berechnung mit dem Fehler "IllegalArgumentException: Die maximale Anzahl (32) der für die Routenberechnung zulässigen Wegpunkte wurde erreicht."

Gibt es eine Möglichkeit, diese Einschränkung zu entfernen?

+0

Es gibt keine Möglichkeit, das zu tun, soweit ich weiß. Was Sie jedoch tun können, ist, alle Wegpunkte auf einem Stapel zu halten, und dann, wenn Wegpunkte verbraucht werden, entfernen Sie sie und fügen einen neuen Wegpunkt vom Stapel hinzu. –

+0

Also habe ich diesen Text von ihrer Website "Hinweis: Routen mit mehr als 100 Wegpunkte erfordern möglicherweise erhebliche Rechenzeit.". Ich bin mir ziemlich sicher, dass es möglich ist, wenn sie das sagen. Link ist hier https://developer.here.com/mobile-sdks/documentation/android/topics/routing.html – Neil

+0

@SorinLascu Das ist, wie ich es gerade jetzt mache, aber ich muss die Navigation stoppen und es mit einem neu starten neuer RoutePlan. Können Sie das ohne Neustart der Navigation tun? – Teriblus

Antwort

2

Entschuldigung, diese Einschränkung ist im Router fest codiert. Die Berechnungsressourcen, die zur Berechnung von> 32 Wegpunkten auf einem mobilen Gerät benötigt werden, sind extrem hoch.

Sie können zwei Routen getrennt berechnen. IE Segment 1 der Wegpunkte 1-32 und Segment 2 der Wegpunkte 32-64 und so weiter.

Wenn Sie die letzten Manöver der ersten Route erreicht haben, können Sie den NavigationManager aufrufen und intern mit dem zweiten Teil der Route beginnen. Wenn Sie das innerhalb des Codes tun, sollte es für den Benutzer ziemlich nahtlos sein.

Ein weiterer Gedanke ist, dass Sie die Segmente möglicherweise berechnen möchten, wenn Sie sich in der Nähe des Endes des vorherigen Segments befinden. Routen können abhängig von den aktuellen Verkehrsbedingungen unterschiedlich sein.

+0

Gibt es eine Möglichkeit, vorausberechnete MapRoute-Objekte zu verketten? – Teriblus

2

Diese Einschränkung wurde ab SDK 3.3 geändert. Wir erlauben jetzt bis zu 128 Wegpunkte.

@Teriblus, es gibt keine Möglichkeit, MapRoute-Objekte zu verketten.

Verwandte Themen