2017-06-13 2 views
1

Ich habe native map lib in meinem Projekt integriert. Die Karte wird schnell im Simulator geladen, indem der JavaScript-Schlüssel als Parameter in MapContainer verwendet wird. Aber in Android-Geräten muss ich den Parameter entfernen, damit es funktioniert. Ps: Alle benötigten APIs sind im Build-Hinweis enthalten. Aber es lädt sehr langsam in den Android-Geräten. Ich muss einige Minuten warten, bis die Karte geladen ist. Und wenn ich heranzoom, verschwindet die Karte und weißer Bildschirm wird gesehen. Wenn ich verkleinere, erscheint die Karte.Native Karte in cn1

Sie können das Video auf Zoom-Problem here sehen.

Mein Code:

Form hi = new Form("Native Maps Test"); 
    hi.setLayout(new BorderLayout()); 
    final MapContainer cnt = new MapContainer(); 

    Style s = new Style(); 
    s.setFgColor(0xff0000); 
    s.setBgTransparency(0); 
    FontImage markerImg = FontImage.createMaterial(FontImage.MATERIAL_PLACE, s, 4); 

    cnt.setCameraPosition(new Coord(27.6738908, 85.3181375)); 
    cnt.addMarker(
      EncodedImage.createFromImage(markerImg, false), 
      new Coord(27.6738908, 85.3181375), 
      "Hi marker", 
      "Optional long description", 
      evt -> { 
       ToastBar.showMessage("You clicked the marker", FontImage.MATERIAL_PLACE); 
      } 
    ); 
    hi.add(BorderLayout.CENTER, cnt); 
    hi.show(); 
    hi.revalidate(); 

Antwort

0

Das ist nicht eine native Karte ist. Das ist die Fallback-Map-Komponente. Sie müssen sicherstellen, dass die native Android-Karte aktiviert ist. Ich schlage vor, das Gerät mit einem Kabel zu verbinden und die Fehler zu betrachten, die Google in der Konsole verursacht.

+0

Ich bin verwirrt. Wenn etwas schief geht, zeigt es immer noch die Karte an? Kannst du bitte etwas mehr klären? – beck

+1

Es ist eigentlich ein bisschen kaputt, es sollte die JavaScript-Map zeigen, aber es zeigt stattdessen das MapComponent-Fallback. Wenn es einen Fehler gibt, versuchen wir immer noch, ein Map-Fallback zu zeigen, da dies die meisten Entwickler wünschen. Z.B. Angenommen, ich verwende ein Kindle-ASOP-Gerät, das keine Google-Play-Dienste hat, obwohl die Karten trotzdem "funktionieren" sollen? –