Ich habe eine angularJs Web-App, die Google Maps API v3 verwendet. Ich benutze ui-map von angular-ui.
Mein Problem ist, dass die App mit schlechter Konnektivität funktionieren muss. Ich habe offline Speicher gut funktioniert.
Das Problem ist, dass ui-map Google Maps vor dem Laden des eckigen Moduls wie folgt laden muss:
%Vor%... wobei onGoogleReady () der Google Maps API Callback ist.
Dies wirft den Offline-Modus aus dem Fenster, da die App nicht geladen wird, bis Google Maps geladen wird und das nicht offline geschieht.
Wie kann ich die App mit oder ohne ui-map abhängig davon laden, ob eine Verbindung besteht oder nicht?
Ich habe versucht zu laufen:
%Vor%und dann
%Vor%lädt es erneut mit ui-map, wenn Maps geladen werden, aber anuglar nicht mehr an dasselbe Element binden kann.
Ich bin mir sicher, dass es einen schönen, sauberen Weg dafür gibt, aber mein angulares Verständnis fehlt ...
UPDATE: Hier ist die Lösung, die ich gefunden habe:
Binde die App zunächst nicht in das HTML ein (keine ng-app) Als nächstes haben Sie eine Online-Variable:
%Vor%Dann überprüfen Sie, ob online. Wenn dies der Fall ist, fügen Sie das Google Maps-Skript ein, das den Callback mit ui-maps ausführt, falls nicht, binden Sie die App ohne ui-maps ein:
%Vor%Denken Sie wahrscheinlich darüber nach, RequireJS zu verwenden. Und füge eine Fallback-Methode hinzu, wenn Karten nicht geladen werden könnten?
Vor einiger Zeit habe ich einen Service für mein persönliches Projekt erstellt. überprüfen Sie es vielleicht kann Ihnen helfen.
Tags und Links angularjs google-maps-api-3