'findPlaceFromQuery' не существует в Javascript Google Maps Api с машинописным текстом - PullRequest
0 голосов
/ 05 августа 2020

Согласно руководствам разработчиков, я должен уметь использовать машинописный текст с Google Maps and Places API для javascript. У меня не было проблем с инициализацией карты или чего-то еще, но похоже, что метод, который я ищу, просто отсутствует в установленном мной файле объявления типа.

Вот ссылка на руководство разработчика: https://developers.google.com/maps/documentation/javascript/places#find_place_from_query

Но я пытаюсь следовать примерам кода, но когда я смотрю на файл @ types / googlemaps / index.d.ts, установленный в моем проекте, нет метод под названием findPlaceFromQuery, как предлагает документация.

Так выглядит класс PlacesService:

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;
}

Ссылка на API PlacesService: https://developers.google.com/maps/documentation/javascript/reference/places-service#PlacesService

Я использую проект ASP. Net Core MVC, и я добавил тег скрипта и добавил определения @types через LibraryManager.

из моего 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>

Кто-нибудь еще сталкивался с этим?

1 Ответ

1 голос
/ 05 августа 2020

Это старое определение. radarSearch устарел и удален (по состоянию на 30 июня 2018 г.). findPlaceFromQuery довольно новый.

Документация содержит ссылки на более свежие определения

В нем все еще radarSearch (старый / устаревший), но включает 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;
...