1

我是 Angular 新手,正在尝试制作一个简单的谷歌地图应用程序。我不断收到此错误error TS2339: Property 'map' does not exist on type 'AppComponent'

我试图访问地图属性,但我不能。也许我没有正确初始化它?

import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: 'app.component.html',
  styleUrls: ['app.component.scss'],
})
export class AppComponent {
  title = 'simple-gmaps-demo';
  lat = 51.678418;
  lng = 7.809007;

  onMapReady(map: google.maps.Map) {

    this.map = map;
    this.map.setCenter({lat:-32, lng:127});
    this.map.setZoom(10);
    
    // this.map.data.loadGeoJson('http://localhost:4200/assets/sample-farms.geojson', {}, features => {
    //   console.log(features);
    // });
  }
}
4

2 回答 2

0

您需要声明属性映射


import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: 'app.component.html',
  styleUrls: ['app.component.scss'],
})
export class AppComponent {
  title = 'simple-gmaps-demo';
  lat = 51.678418;
  lng = 7.809007;
  map: any; // add this line

  onMapReady(map: google.maps.Map) {

    this.map = map;
    this.map.setCenter({lat:-32, lng:127});
    this.map.setZoom(10);
    
    // this.map.data.loadGeoJson('http://localhost:4200/assets/sample-farms.geojson', {}, features => {
    //   console.log(features);
    // });
  }
}
于 2020-12-12T07:53:07.627 回答
0

在标题下方的 AppComponent 中声明地图属性,例如:-

map: google.maps.Map;
于 2020-12-12T07:53:22.683 回答