Angular Google place自动完成不建议某些地点

Angular Google place自动完成不建议某些地点,angular,google-maps,google-maps-api-2,Angular,Google Maps,Google Maps Api 2,我正在构建一个angular cli应用程序,它的用户可以通过键入来选择他们想要的目的地,我的应用程序根据用户输入建议一些地方。为此,我使用了@agm/core 基本上,我的代码是功能性的,但问题是它并不是指某些地方。当我们进行普通的谷歌地图搜索时,会显示这些地方 例如,当我搜索“Kelayia大学”时,我的申请说“没有结果”,但在另一方面,谷歌网站上的“自动完成”甚至暗示了大学内部的能力。p> 所以我需要弄清楚这是什么原因?这是我的代码的错误还是谷歌地图的专业版 这是我的密码 在app.mod

我正在构建一个angular cli应用程序,它的用户可以通过键入来选择他们想要的目的地,我的应用程序根据用户输入建议一些地方。为此,我使用了
@agm/core

基本上,我的代码是功能性的,但问题是它并不是指某些地方。当我们进行普通的谷歌地图搜索时,会显示这些地方

例如,当我搜索“Kelayia大学”时,我的申请说“没有结果”,但在另一方面,谷歌网站上的“自动完成”甚至暗示了大学内部的能力。p> 所以我需要弄清楚这是什么原因?这是我的代码的错误还是谷歌地图的专业版

这是我的密码

在app.module.ts中导入阵列

imports: [
  BrowserModule,
  RoutesModule,
  MatFormFieldModule,
  MatNativeDateModule,
  MatInputModule,
  BrowserAnimationsModule,
  AgmCoreModule.forRoot({
    apiKey: 'my api key',
    libraries : ['places']
  })

],
app.component.ts

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

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit{
  title = 'app';

  @ViewChild('search') public searchElement: ElementRef;
  constructor(private  mapsAPILoader: MapsAPILoader, private ngZone: NgZone) {
  }
  ngOnInit() {
    this.mapsAPILoader.load().then(
      () => {
        let autocomplete = new google.maps.places.Autocomplete(this.searchElement.nativeElement,{ types:['address']});
        autocomplete.setComponentRestrictions({'country' : ['lk']});
        autocomplete.addListener('place_changed' , () => {
          this.ngZone.run( () => {
            let place: google.maps.places.PlaceResult = autocomplete.getPlace();
            if ( place.geometry === undefined || place.geometry == null ) {
              return;
            }
          })
        })
      }
    )
  }

}
app.component.html

<div class="container">
  <h1>Google maps</h1>
<div class="form-group">
  <input type="text" autocomplete="off" placeholder="search for lacaito" autocapitalize="off" class="form-group" #search>
</div>

</div>

谷歌地图

您可以按以下形式初始化place autocomplete

let autocomplete=new google.maps.places.autocomplete(this.searchElement.nativeElement,{types:['address']})

注意代码中的类型限制,该限制指示只返回address类型的结果

现在,在geocoder工具中查看“Kelaniya大学”:

您可以很容易地看到,此功能的类型是
建立、兴趣点、大学
。它没有类型
地址
,因此不会出现在自动完成中


我希望我的回答能解决你的疑问

谢谢。。。。我完全删除了类型数组:-)让autocomplete=new google.maps.places.autocomplete(this.searchElement.nativeElement);