Я пытаюсь отобразить все офисы своей компании на Картах Google, и у меня возникает странная проблема при вызове API.Код вернет NO_RESULTS примерно на половине служебных адресов, но когда я скопирую точный используемый вызов, он вернет результаты в моем браузере.Добавление component = страна: США решило большинство из них, но есть еще несколько с этой конкретной проблемой.
Это пример одного:
https://maps.googleapis.com/maps/api/geocode/json?components=country:US&address=1110%20PELICAN%20BAY%20DRIVE%20%20DAYTONA%20BEACH%20FL%20321191381&key=KEY
1110 ПЕЛИКАН Bay Drive Дейтона Бич FL 321191381
1110% 20PELICAN% 20BAY% 20DRIVE% 20% 20DAYTONA% 20BEACH% 20FL% 20321191381
ZERO_RESULTS
Он работает в любом браузере, в котором я его пробую, но не работает при вызове моим клиентом REST.Код ниже:
public Geolocation Locate(string address)
{
var client = new RestClient();
client.BaseUrl = new Uri("https://maps.googleapis.com/");
var request = new RestRequest("maps/api/geocode/json?components=country:US&address={address}&key=KEY");
request.AddParameter("address", Uri.EscapeDataString(address), ParameterType.UrlSegment);
var response = client.Execute<Geolocation>(request);
return response.Data;
}
Выше мой сервис для вызова API, и вот как это реализовано.
officeObj.Address = office.ADDR1.Trim() + " " +
office.ADDR2.Trim() + " " +
office.CITY.Trim() + " " +
office.STATE.Trim() + " " +
office.ZIP.Trim();
Geolocation geolocation = _geolocationService.Locate(officeObj.Address);
var location = geolocation?.results.FirstOrDefault()?.geometry?.location;