Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从@agm/core导入MouseeEvent在9中不起作用_Javascript_Angular - Fatal编程技术网

Javascript 从@agm/core导入MouseeEvent在9中不起作用

Javascript 从@agm/core导入MouseeEvent在9中不起作用,javascript,angular,Javascript,Angular,在我的Angular 9应用程序中,我使用的是agm google map,所有东西都在工作,但当我导入MouseEvent时,它显示了一个错误(src/app/place/place.component.ts:3:9-error TS2305:Module'../../../../../../../../../Projects/Angular/means2020/node_modules/@agm/core/agm core''没有导出的成员“MouseEvent”。)我在谷歌上搜索了一下,但

在我的Angular 9应用程序中,我使用的是agm google map,所有东西都在工作,但当我导入MouseEvent时,它显示了一个错误(
src/app/place/place.component.ts:3:9-error TS2305:Module'../../../../../../../../../Projects/Angular/means2020/node_modules/@agm/core/agm core''没有导出的成员“MouseEvent”。
)我在谷歌上搜索了一下,但没有找到任何合适的解决方案,任何机构都会提前向我表示感谢

这是may ts文件

import { Component, OnInit, ViewChild, ElementRef, NgZone } from '@angular/core';
import { MapsAPILoader } from '@agm/core';
import { MouseEvent } from '@agm/core';

   markerDragEnd($event: MouseEvent) {
        console.log($event);
        this.latitude = $event.coords.lat;
        this.longitude = $event.coords.lng;
        this.getAddress(this.latitude, this.longitude);
    }

MouseEvent
并非来自新的3.0.0-beta版以来的
@agm/core
,而是来自谷歌地图脚本

尝试安装类型包

npm install --save @types/googlemaps
然后像这样使用它:

导入{
组成部分,
奥尼特,
ViewChild,
ElementRef,
NgZone
}从“@angular/core”开始;
进口{
MapsAPILoader
}来自“@agm/core”;
markerDragEnd($event:google.maps.MouseEvent){
console.log($event);
this.latitude=$event.coords.lat;
this.longitude=$event.coords.lng;
this.getAddress(this.latitude,this.longitude);
}
您的
tsconfig
也应更新,以包括:

"types": [
      "googlemaps"
]

这是因为agm()的最新版本不是来自新的3.0.0-beta版的
@agm/core
,而是来自谷歌地图脚本

尝试安装类型包

npm install --save @types/googlemaps
然后像这样使用它:

导入{
组成部分,
奥尼特,
ViewChild,
ElementRef,
NgZone
}从“@angular/core”开始;
进口{
MapsAPILoader
}来自“@agm/core”;
markerDragEnd($event:google.maps.MouseEvent){
console.log($event);
this.latitude=$event.coords.lat;
this.longitude=$event.coords.lng;
this.getAddress(this.latitude,this.longitude);
}
您的
tsconfig
也应更新,以包括:

"types": [
      "googlemaps"
]

这是由于agm()的最新版本造成的。

如前所述,
MouseEvent
并非来自@agm/core 3.0.0-beta版,但来自谷歌地图脚本

您必须添加到您的tsconfig

"types": [
      "googlemaps"
]
但是,该接口没有名为
coord
的属性,而是有
latLng
,它有两个功能,
lat
lng
因此,与其使用

this.latitude = $event.coords.lat;
this.longitude = $event.coords.lng;
您的代码应该是:

markerDragEnd($event: google.maps.MouseEvent) {
  console.log($event);
  this.latitude = $event.latLng.lat();
  this.longitude = $event.latLng.lng();
  this.getAddress(this.latitude, this.longitude);
}

我自己也试过了,因为我遇到了同样的问题,希望它有用。

如前所述
MouseEvent
不是从@agm/core新推出的 3.0.0-beta版,但来自谷歌地图脚本

您必须添加到您的tsconfig

"types": [
      "googlemaps"
]
但是,该接口没有名为
coord
的属性,而是有
latLng
,它有两个功能,
lat
lng
因此,与其使用

this.latitude = $event.coords.lat;
this.longitude = $event.coords.lng;
您的代码应该是:

markerDragEnd($event: google.maps.MouseEvent) {
  console.log($event);
  this.latitude = $event.latLng.lat();
  this.longitude = $event.latLng.lng();
  this.getAddress(this.latitude, this.longitude);
}

我自己也试过了,因为我也遇到了同样的问题,希望它有用。

我已经安装了这个,但它不起作用,但当我在package.json文件中将agm/core版本更改为1.1.0时,它起作用了。这是因为最新版本的agm/core已经删除了自己MouseEvent的导出,现在使用google.maps one。检查您的
tsconfig
,它应该将
googlemaps
包含到
类型中
我做了所有这些事情但不工作只需要更改pacakge.jsonYeah中的@agm/core版本它对我也不起作用,将googlemaps类型添加到我的所有tsconfig中,并安装了库
“@types/googlemaps”:“3.39.12”
此版本运行良好。我已经安装了此版本,但它不起作用,但当我在package.json文件中将agm/core版本更改为1.1.0时,它起作用了。这是因为最新版本的agm/core已经删除了自己的MouseEvent导出,现在使用google.maps one。检查您的
tsconfig
,它应该将
googlemaps
包含到
类型中
我做了所有这些事情但不工作只需要更改pacakge.jsonYeah中的@agm/core版本它对我也不起作用,将googlemaps类型添加到我的所有tsconfig中,并安装了库
“@types/googlemaps”:“3.39.12”
此版本运行良好。