Бесшовная интеграция с Google API.
Карты Google, места, дороги, поиск и перевод.
Не стесняйтесь вносить свой вклад, задавать вопросы и сообщать о проблемах. Обычно я отвечаю быстро (24-48 часов).
Нужна ли вам поддержка дополнительной платформы .Net? Дайте мне знать.
Новое: версия 5.0.0 с API маршрутов (направления и матрица), API Ariel View и API проверки адреса.
Библиотеку можно использовать либо с помощью отдельных реализаций facede, либо путем внедрения зависимостей отдельных API.
Каждая реализация API состоит из запроса и ответа. Запрос имеет свойства, отражающие поддерживаемые параметры, а ответ представляет объектную модель для возвращаемого json.
Еще несколько заслуживающих внимания участников.
var uri = request . GetUri ( ) ; // Gets the full request uri, including query parameters.
var params = request . GetQUeryStringParameters ( ) ; // Gets a list of all the added parameters.
response . RawJson // The raw json returned by Google.
response . RawQueryString // The querystring sent to Google when invoking the request.
Каждый API имеет общую фасадную операцию для выполнения запроса и возврата ответа.
В приведенном ниже примере просто заполняет запрос, вызывает операцию фасада и получает взамен ответ.
TRequest request = new TRequest ( ) ;
TResponse response = await { Api } . [ { SubGroup } ] . { Action } . QueryAsync < TRequest , TResponse > ( request ) ;
Ниже приведен полный список поддерживаемых API и действий.
Если внедрение API в качестве зависимостей предпочтительнее, зарегистрируйте службы во время запуска, как показано ниже.
services
. AddGoogleApiClients ( ) ;
Затем при необходимости внедрите отдельные API в конструкторы.
public class MyClass
{
private Api api ;
public MyClass ( Api api )
{
this . api = api
}
}
Ниже приведен полный список поддерживаемых API и действий.
Если требуется WebProxy
, установите статическое свойство HttpClientFactory.Proxy
перед регистрацией зависимостей GoogleApi или использованием фасада.
Поддерживаются следующие API.
GoogleMaps.Directions
)GoogleMaps.DistanceMatrix
)GoogleMaps.Elevation
)GoogleMaps.Geocode.PlaceGeocode
)GoogleMaps.Geocode.AddressGeocode
)GoogleMaps.Geocode.LocationGeocode
)GoogleMaps.Geocode.PlusCodeGeocode
)GoogleMaps.Geolocation
)GoogleMaps.Roads.NearestRoads
)GoogleMaps.Roads.SnapToRoad
)GoogleMaps.Roads.SpeedLimits
)GoogleMaps.Routes.Directions
)GoogleMaps.Routes.Matrix
)GoogleMaps.AddressValidation
)GoogleMaps.AerialView.GetVideo
)GoogleMaps.AerialView.RenderVideo
) GooglePlaces.Search.FindSearch
)GooglePlaces.Search.NearBySearch
)GooglePlaces.Search.TextSearch
)GooglePlaces.Details
)GooglePlaces.Photos
)GooglePlaces.AutoComplete
)GooglePlaces.QueryAutoComplete
) GoogleSearch.WebSearch
)GoogleSearch.ImageSearch
)GoogleSearch.VideoSearch.Channels
)GoogleSearch.VideoSearch.Playlists
)GoogleSearch.VideoSearch.Vidoes
) GoogleTranslate.Detect
)GoogleTranslate.Languages
)GoogleTranslate.Translate
) Запустить набор тестов просто.
Тестовый проект хранит настройки, связанные с вашей подпиской Google (бесплатной или платной), в файле application.default.json
.
Самое главное — ApiKey
, используемый для идентификации подписки Google.
{
"ApiKey" : " " ,
"SearchEngineId" : " " ,
}
Дополнительную информацию о создании ключа можно найти здесь: https://console.developers.google.com/.