Wie kann ich die Verkehrsschicht in AGM MAP angle2 anzeigen.
Dies ist möglich, indem Sie es über das zugrunde liegende google.maps.map-Objekt hinzufügen. Um das eigentliche Google Maps-Objekt zu erhalten, müssen Sie das Ereignis mapReady
verwenden. Dann können Sie in dem Code, der das verarbeitet, die Verkehrsschicht hinzufügen. Das "Ereignis" von mapReady ist die eigentliche Google Maps-Instanz.
HTML
<agm-map (mapReady)="onMapReady($event)" ... plus any other attributes ...> ... </agm-map>
Typoskript
onMapReady(mapInstance) {
let trafficLayer = new google.maps.TrafficLayer();
trafficLayer.setMap(mapInstance);
}
Sie müssen die Google Maps-Typdefinition importieren, um Typoskriptfehler zu vermeiden:
import {} from '@types/googlemaps';
Welche Sie installieren können über:
npm install --save @types/googlemaps
Super! Danke ziftytodd.
Für mich war das Objekt google
in meinem Angular-Cli-basierten Projekt undefiniert, also musste ich explizit auf window.google.maps.TrafficLayer()
verweisen
@ziftytodd Danke für deine Lösung. Es war wirklich hilfreich für mich.
Obwohl ich einige Anpassungen vornehmen musste, die auch für andere hilfreich sein können.
1 - npm install --save @types/googlemaps
2 - Erstellen Sie eine index.d.ts-Datei im Hauptpfad und schreiben Sie: declare module 'googlemaps';
3 - Importieren Sie in Ihr Typoskript: import {} from 'googlemaps';
4 - in Ihrer HTML-Datei: <agm-map (mapReady)="onMapReady($event)" ... plus any other attributes ...> ... </agm-map>
5 - in Ihrem Typoskript:
onMapReady($event) {
let trafficLayer = new google.maps.TrafficLayer();
trafficLayer.setMap($event);
}
Ich hoffe es hilft!
Hilfreichster Kommentar
Dies ist möglich, indem Sie es über das zugrunde liegende google.maps.map-Objekt hinzufügen. Um das eigentliche Google Maps-Objekt zu erhalten, müssen Sie das Ereignis
mapReady
verwenden. Dann können Sie in dem Code, der das verarbeitet, die Verkehrsschicht hinzufügen. Das "Ereignis" von mapReady ist die eigentliche Google Maps-Instanz.HTML
<agm-map (mapReady)="onMapReady($event)" ... plus any other attributes ...> ... </agm-map>
Typoskript
Sie müssen die Google Maps-Typdefinition importieren, um Typoskriptfehler zu vermeiden:
import {} from '@types/googlemaps';
Welche Sie installieren können über:
npm install --save @types/googlemaps