package stadia import ( "context" "fmt" "github.com/google/go-querystring/query" ) type RequestGeocodeByGID struct { GIDs []string `url:"ids,comma"` // Other parameters Lang *string `url:"lang,omitempty" json:"lang,omitempty"` } func (s *StadiaMaps) GeocodeByGID(ctx context.Context, req RequestGeocodeByGID) (*GeocodeResponse, error) { // https://docs.stadiamaps.com/geocoding-search-autocomplete/place-details/ var result GeocodeResponse query, err := query.Values(req) if err != nil { return nil, fmt.Errorf("structured geocode query: %w", err) } //var api_error Error resp, err := s.client.R(). SetQueryParamsFromValues(query). SetContext(ctx). SetResult(&result). SetPathParam("urlBase", s.urlBaseApi). SetQueryParam("api_key", s.APIKey). Get("https://{urlBase}/geocoding/v2/place_details") if err != nil { return nil, fmt.Errorf("autocomplete get: %w", err) } if !resp.IsSuccess() { return nil, parseError(resp) } return &result, nil }