Wie zeige ich den Standort-Pin des sichtbaren Teils einer MapView in Android?

8

Hier ist mein asynctask -Teil, wo ich einen Pin an einem Ort anlege, der von einem XML-Code analysiert wurde. Dies ist in Ordnung für einen kleinen Standortdatensatz, dauert jedoch lange, wenn der Standortdatensatz groß ist.

%Vor%

Ich habe gelernt, getLatitudeSpan und getLongitudeSpan zu verwenden, um dieses Problem loszuwerden, aber ich weiß nicht genau, wo und wie ich es in meiner asynchronen Aufgabe verwende. Irgendwelche Vorschläge?

    
Reyjohn 10.02.2013, 12:57
quelle

4 Antworten

0

Geben Sie bitte genaue Datengröße an, wo die benötigte Zeit lang ist. Versuchen Sie auch, den Code zu profilieren, um die für jeden Codeblock benötigte Zeit zu sehen.

Aber wenn man sich den Code ansieht, würde das Durchlaufen all dieser Variablen einen signifikanten Effekt auf die Zeit haben, wenn die Daten, auf denen gearbeitet wird, erhöht sind,

Versuchen Sie, die Schleifen zu vereinfachen / zu kombinieren,

z. B. diese Schleife

%Vor%

und dieses

%Vor%

kann nicht kombiniert werden?

auch diese Schleife

%Vor%

und das

%Vor%

kann auch kombiniert werden,

    
john murimi 19.02.2013 18:46
quelle
0

Ich denke, bei Problemen geht es nicht um Überlagerungen. Du erhältst alle Gegenstände mit dem Sax Parser. Sie versuchen alle Elemente zu erhalten und fügen sie dann zur Karte hinzu. Wenn Sie Ihren Code ändern, während Sie ein einzelnes Elementupdate zum Überlagern und Füllen erhalten, kann dies die Ausführung beschleunigen. Wenn Sie immer noch unter dem gleichen Problem leiden, versuchen Sie, Elemente mit einem separaten Thread oder einem Canvas-Objekt der Überlagerung hinzuzufügen (durch Projektion des Geo-Punktes).

    
Swapnil Deshmukh 20.02.2013 11:38
quelle
0

Vielleicht möchten Sie ein Producer-Consumer-Modell implementieren, bei dem der Consumer die Map selbst ist und der Producer die Logik, die Informationen für einen Pin generiert.

    
Neo 21.02.2013 11:42
quelle
0

Sie verwenden einen Sax Parser , der ziemlich zeitraubend ist. Verwenden Sie einen Objektmodellrepräsentanten wie einen json, der leicht geparst werden kann und daher auf einer Karte geplottet werden kann.

// Wenige Vorschläge, die möglicherweise das Zeitproblem verringern, mit dem Sie konfrontiert sind.

  1. Zeichnen Sie nur die Pins und klicken Sie auf ein Pop-Up, um weitere Details darin anzuzeigen.
cafebabe1991 17.04.2013 07:18
quelle

Tags und Links