我使用的是Angular 14和https://github.com/angular/components/tree/main/src/google-maps
我的屏幕上加载了一张地图,但是我还想使用Places Api。虽然库支持地理编码,但places不支持。
我一直在尝试以下代码
const map1: any = document.querySelector("google-map") as unknown;
console.log("lookup", map1)
const map2: GoogleMap = map1;
var request = {
query: 'albina',
fields: ['name', 'geometry'],
};
var service = new google.maps.places.PlacesService(map2);
service.findPlaceFromQuery(request, (results, status) => console.log(results, status))
和我的模板读取
<google-map [options]="options" class="col-sm-8">
<map-marker
[options]="markerOptions"
[position]="markerPosition"
></map-marker>
</google-map>
这在javascript中工作- querySelector返回dom节点,但它可以成功地传递给PlacesService
。当我使用typescript时,我一直被告知不能传递html元素(尽管我试图覆盖该类型)。
我真正想要的是访问地图,而不是使用dom查找,但我不知道如何访问。正如你所看到的,我能够创建选项并将其传递给组件,但我对angular的了解还不够,无法获取映射
好的,我需要
@ViewChild(GoogleMap) map: GoogleMap;
则组分在this.map