1

Ich versuche herauszufinden, the example of geocoding und ich habe den folgenden Code in meinem Event-Handler für einen Klick auf eine Schaltfläche.Wie entfernt man die Warnung für den Namen "google" in Angular?

locate() { 
    const coder = google.maps.Geocoder(); 
    coder.geocode(
    { address: "stockholm" }, 
    (result, status) => { ... }); 
} 

Es funktioniert wie soll aber der Name google von VS-Code mit der Warnung hervorgehoben wird, dass der Name nicht gefunden werden kann. Ich bin mir nicht sicher, woher das Objekt kommt und ich weiß nicht, wie ich es deklarieren soll, damit es nicht als unbekannt/nicht deklariert markiert wird.

Wenn ich das google Ding in der Konsole von Chrome laufen, funktioniert es tatsächlich, eine Art von Objekt mit Karten darin zu produzieren. Die gleiche Operation in der Konsole von FireFox erzeugt jedoch nichts Nützliches.

Was ist das Googly-Mappy-Objekt und wie lerne ich Angular, dass es da ist?

+0

Es wird durch die Einbeziehung der Maps-API-Skript (das zweite Skript-Tag in dem Beispiel) zur Verfügung gestellt. – Amber

+0

@Amber Ja, die Sache ist, dass ich diese Zeile in meinem Angular Code überhaupt nicht habe. Tatsächlich ist der ** einzige ** Verweis auf * google * in irgendeiner Form die zweite Zeile in meinem Beispiel. Auch Chrome scheint davon standardmäßig zu wissen ... – DonkeyBanana

Antwort

1

Sie sagen Winkel, dass ein Fremd JavaScript globales Objekt oder lib ist es, indem er erklärt, wie in früheren Antwort gezeigt:

declare const google: any; 

Sie auch Ihre Typoskript alle so richtigen Typen beibringen könnte, dass VSCode wird Ihnen sogar helfen:

npm install @types/googlemaps --save 
1

Unter Ihren Importen können Sie dem Typoskript-Compiler mitteilen, dass es zur Laufzeit eine globale Variable google geben wird.

// component.ts 
declare const google; 
Verwandte Themen