Angular2 / ionic2 angular2-google-maps错误找不到名字'google'

时间:2016-11-24 11:26:39

标签: google-maps angular autocomplete ionic2 google-places-api

我跟随this example (click here)创建了一个地址字段,并自动填写了Google地图位置

但是它给出了以下错误:

Can not find name 'google'.

L53: this.mapsAPILoader.load (). Then (() => {

L54: let autocomplete = new google.maps.places.Autocomplete 
(this.searchElementRef.nativeElement, {

我尝试安装google-maps类型npm install --save @types/google-maps,但没有结果。

安装@ types / google-maps后,构建就可以,但是当我知道这个错误时:

Cannot find name 'google' after installing @types/google-maps

我的代码:

import { FormControl } from '@angular/forms';
import { Component, ViewChild, OnInit, ElementRef } from '@angular/core';
import { NavController, NavParams } from 'ionic-angular';
import { MapsAPILoader } from 'angular2-google-maps/core';


@Component({
  selector: 'page-page2',
  templateUrl: 'page2.html'
})
export class Page2 implements OnInit {

  latitude: number = 51.678418;
  longitude: number = 7.809007;
  zoom: number = 4;

  searchControl: FormControl;

  @ViewChild("search")
  searchElementRef: ElementRef;

  constructor(public navCtrl: NavController, public navParams: NavParams, private mapsAPILoader: MapsAPILoader) {
// some not related to this question code
  }

  ngOnInit() {
    //create search FormControl
    this.searchControl = new FormControl();

    //set current position
    this.setCurrentPosition();

    //load Places Autocomplete
    this.mapsAPILoader.load().then(() => {
      let autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement, {
        types: ["address"]
      });
      autocomplete.addListener("place_changed", () => {
        //get the place result
        let place: google.maps.places.PlaceResult = autocomplete.getPlace();

        //set latitude and longitude
        this.latitude = place.geometry.location.lat();
        this.longitude = place.geometry.location.lng();
      });
    });
  }

  private setCurrentPosition() {
    if ("geolocation" in navigator) {
      navigator.geolocation.getCurrentPosition((position) => {
        this.latitude = position.coords.latitude;
        this.longitude = position.coords.longitude;
        this.zoom = 12;
      });
    }
  }

}

1 个答案:

答案 0 :(得分:2)

运行git fetch-prefix ft_d_feature_

找到here