Ich möchte die Google Maps-API mit meinem Angular-Projekt verwenden. Daher habe ich die folgenden Befehle zum Installieren von npm-Paketen verwendet:
npm install @agm/core --save-dev
npm install @types/googlemaps --save-dev
Ich habe diese Zeile zu meiner Komponente hinzugefügt:
import {} from "@types/googlemaps";
Aber ich sehe diese 2 Fehler in VS Code:
[ts] File 'h:/Angular Projects/Breakfast/client/breakfast/node_modules/@types/googlemaps/index.d.ts' is not a module.
[ts] Cannot import type declaration files. Consider importing 'googlemaps' instead of '@types/googlemaps'.
Ich habe diese Zeilen hinzugefügt
"types": ["googlemaps"]
"moduleResolution": "node"
zu tsconfig.json und tsconfig.spec.json, aber immer noch kein Glück. In den Chrome Dev Tools wird die folgende Fehlermeldung angezeigt:
Error: Uncaught (in promise): TypeError: Cannot read property 'Autocomplete' of undefined
TypeError: Cannot read property 'Autocomplete' of undefined
Angular Version 6 TypeScript Version 2.9.2
Ich habe es auch aus Angular 5 probiert.
Dank dieses Dokumentationslinks: https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html
[Angular 6+] Sie müssen diese Zeile nur am Beginn (dh Zeile 1, ohne vorheriges Zeichen) Ihrer TypeScript-Datei hinzufügen:
/// <reference types="@types/googlemaps" />
[Angular 5-] Sie müssen diese Zeile nur an jeder beliebigen Stelle Ihrer TypeScript-Datei hinzufügen:
import {} from "googlemaps";
Dank der Antwort unten müssen Sie möglicherweise auch eine Datei hinzufügen, die <root>/index.d.ts
enthält (in meinem Fall jedoch nicht erforderlich):
declare module 'googlemaps';
Ihr Import kann wie folgt vereinfacht werden:
import {} from "googlemaps";
Fügen Sie im Stammverzeichnis des Projekts eine Datei mit dem Namen index.d.ts
hinzu und fügen Sie Folgendes ein:
declare module 'googlemaps';
Es funktioniert gut
npm install --save-dev @types/googlemaps
At the beggining of your component file, type:
/// <reference types="@types/googlemaps" />
Ich habe gerade eine index.d.ts in meinem src-Ordner erstellt und hinzugefügt
modul 'googlemaps' deklarieren;
Es hat das Problem gelöst
In meinem angle 6+ -Projekt habe ich das Problem gelöst, das den googlemaps-Namespace oben in der TypeScript-Datei mit dieser Zeile deklariert:
/// <reference path="../../../../../../node_modules/@types/googlemaps/index.d.ts"/>
mit diesem Vorgang müssen Sie Googlemaps nicht auf andere Weise importieren, und dann funktioniert es. Verwenden Sie den richtigen Pfad zu Ihrem node_modules-Ordner.
Weitere Informationen und Hinweise zur Verwendung des Namespaces in TypeScript hier die Dokumentation .
Bei mir in Angular 6 hat es funktioniert, wenn ich nur verwendet habe
/// <reference types="@types/googlemaps" />
In meinem Angular 7+ Projekt
$ npm install @types/googlemaps --save-dev
In tsconfig.app.json
"types": [
"googlemaps"
]
Vielen Dank für den unten stehenden Link https://www.freakyjolly.com/angular-7-6-add-google-maps-in-angular-2-plus-applications-using-angular-google-maps-module -agm-core-leicht/# more-2316