The default HTTP transport implementation for Go isn’t supported when running in AppEngine. Trying to use it will result in the following error:
http.DefaultTransport and http.DefaultClient are not available in App Engine. See https://cloud.google.com/appengine/docs/go/urlfetch/
To fix this, you need to use the http.Client implementation from AppEngine’s urlfetch package (imported from google.golang.org/appengine/urlfetch).
uc := urlfetch.Client(ctx)
options := []maps.ClientOption {
maps.WithHTTPClient(uc),
maps.WithAPIKey(GoogleApiKey),
}
c, err := maps.NewClient(options...)
if err != nil {
panic(err)
}
nsr := &maps.NearbySearchRequest{
Location: &maps.LatLng {
Lat: latitude,
Lng: longitude,
},
Radius: radius,
OpenNow: true,
RankBy: maps.RankByProminence,
Type: maps.PlaceTypeRestaurant,
}
psr, err := c.NearbySearch(ctx, nsr)
if err != nil {
panic(err)
}