Angular-google-maps: Traffic-Layer anzeigen

Erstellt am 16. Mai 2018  ·  4Kommentare  ·  Quelle: SebastianM/angular-google-maps

Wie kann ich die Verkehrsschicht in AGM MAP angle2 anzeigen.

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

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

Alle 4 Kommentare

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!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

ostapch picture ostapch  ·  4Kommentare

marcelinobadin picture marcelinobadin  ·  3Kommentare

gizm0bill picture gizm0bill  ·  4Kommentare

matishw picture matishw  ·  3Kommentare

DeveloperAdd007 picture DeveloperAdd007  ·  3Kommentare