'findPlaceFromQuery' 不存在于 Javascript Google 地图 Api 中

'findPlaceFromQuery' doesn't exist in Javascript Google Maps Api with typescript

根据开发人员指南,我应该能够将打字稿与 Google 地图和地点 API 一起用于 javascript。我在初始化地图或任何东西时没有遇到任何问题,但我正在寻找的方法似乎不在我安装的类型声明文件中。

这里是 link 开发者指南:https://developers.google.com/maps/documentation/javascript/places#find_place_from_query

但我试图按照代码示例进行操作,但是当我查看安装在我的项目中的@types/googlemaps/index.d.ts 文件时,没有名为 'findPlaceFromQuery' 的方法文档建议。

这是 PlacesService class 的样子:

export class PlacesService {
    constructor(attrContainer: HTMLDivElement|Map);
        getDetails(request: PlaceDetailsRequest, callback: (result: PlaceResult, status: PlacesServiceStatus) => void): void;
        nearbySearch(request: PlaceSearchRequest, callback: (results: PlaceResult[], status: PlacesServiceStatus, pagination: PlaceSearchPagination) => void): void;
        radarSearch(request: RadarSearchRequest, callback: (results: PlaceResult[], status: PlacesServiceStatus) => void): void;
        textSearch(request: TextSearchRequest, callback: (results: PlaceResult[], status: PlacesServiceStatus, pagination: PlaceSearchPagination) => void): void;
}

PlacesService API 参考: https://developers.google.com/maps/documentation/javascript/reference/places-service#PlacesService

我正在使用 ASP.Net Core MVC 项目,我已经添加了脚本标签并通过 LibraryManager 添加了@types 定义。

来自我的 libman.json 文件:

    {
      "provider": "unpkg",
      "library": "@types/googlemaps@3.30.8",
      "destination": "wwwroot/lib/@types/googlemaps/"
    }

脚本标签:

<script defer src="https://maps.googleapis.com/maps/api/js?key=MY_API_KEY&callback=initializeMap&libraries=places"></script>

还有其他人 运行 参与其中吗?

这是一个古老的定义。 radarSearch 已弃用并删除(截至 2018 年 6 月 30 日)。 findPlaceFromQuery 相当新。

documentation 引用了更​​新的定义

它仍然有 radarSearch(old/deprecated),但确实包括 findPlaceFromQuery(新)

https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/googlemaps/reference/places-service.d.ts

class PlacesService {
   constructor(attrContainer: HTMLDivElement | Map);
   findPlaceFromQuery(
       request: FindPlaceFromQueryRequest,
       callback: (results: PlaceResult[], status: PlacesServiceStatus) => void,
   ): void;