SVG Android

  • Antworten:3
Thomas L.
  • Forum-Beiträge: 58

11.07.2011, 15:35:21 via Website

Parallel zu meinem GPS Problem noch ein weiteres:

Ich nutze die svg-android Bibliothek um eine Karte im Vektorformat anzeigen zu lassen. (vernünftiger zoom soll möglich sein)
Eine Testkarte mit dem Grundriss des Geländes wird ordentlich angezeigt [3KB]. Bei größeren Karten (aus OpenstreetMap zum Beispiel exportiert [500KB] streikt die Bibliothek: SVGParseException, ausgelöst in SVGParser.parse(Unkown Source).
Hat jemand schonmal das gleiche Problem gehabt?

Ich kann mir vorstellen, dass er ne weile braucht die große SVG Datei zu laden.
Gibt es eine Möglichkeit dem User einen Ladebalken anzeigen zu lassen und die Karte im Hintergrund in einem Thread laden zu lassen?
(Ladebalken etc. sind nicht mein Problem, eher das Laden der SVG Datei).
Auf der Seite von svg-android steht, dass man das Bild so lädt:

1SVG svg = SVGParser.getSVGFromResource(getResources(), R.raw.filename);
2Picture picture = svg.getPicture();

Wie lass ich dem jetz am besten Zeit zu laden?

Danke schoneinmal für jede Hilfreiche Antwort :)

Antworten
Maximilian O
  • Forum-Beiträge: 990

11.07.2011, 19:30:07 via Website

Also ich würde das mit einem run() machen.
Handler h = new Handler();
h.postDelayed(new Runnable() {
@Override
public void run()
{
//do some stuff
}
}, 100); // aber erst nach 100ms

MfG

— geändert am 11.07.2011, 19:30:16

Vergiss nie wieder Geburtstage, oder viel schlimmer, deinen Hochzeitstag - Birthdays Download

Antworten
Thomas L.
  • Forum-Beiträge: 58

11.07.2011, 21:35:55 via Website

ja das ist klar. habs vllt n bisschen doof formuliert.
mein problem ist nicht etwa dass ich nicht weiß wo ich das image buffern soll, sondern eher, dass der aufruf:
1SVG svg = SVGParser.getSVGFromResource(getResources(), R.raw.filename);
mir sofort ne SVGParseException wirft. Ich WÜRDE es gerne buffern (wär nur sone idee, da es mit kleineren Dateien ja zu funktionieren scheint). Habe aber keine Idee wie ich das machen soll.

MFG

Antworten
mcfly
  • Forum-Beiträge: 286

23.08.2011, 08:47:24 via Website

Hallo zusammen

Ich bekomme auch eine SVGParseException. Ich versuche eine grosse Karte zu laden, ( 800kb svg ) möchte aber nur einen bestimmten Teil anzeigen lassen. Bsp. File enthält ganze Weltkarte. Anzeigen würde ich gerne nur Deutschland. Mit umschalten würde ich dann gerne anderen Teile anzeigen. Also eigentlich ein Zoom auf einen bestimmten Teil mit der Hoffnung, dass nicht die Ganze Karte geladen und gezeichnet wird. Brauche aber die gesamte Karte, da ich dynamisch den Ausschnitt wählen möchte.

Geht das mit dieser Library überhaupt ?

Grüsse

Antworten