placeDetails method

Future<Response<PlacesDetailsResponse>> placeDetails(
  1. String placeId, {
  2. BuiltList<String>? fields,
  3. String? sessiontoken,
  4. String? language,
  5. String? region,
  6. CancelToken? cancelToken,
  7. Map<String, dynamic>? headers,
  8. Map<String, dynamic>? extra,
  9. ValidateStatus? validateStatus,
  10. ProgressCallback? onSendProgress,
  11. ProgressCallback? onReceiveProgress,
})

The Places API is a service that returns information about places using HTTP requests. Places are defined within this API as establishments, geographic locations, or prominent points of interest.

Implementation

Future<Response<PlacesDetailsResponse>> placeDetails(
  String placeId, {
  BuiltList<String>? fields,
  String? sessiontoken,
  String? language,
  String? region,
  CancelToken? cancelToken,
  Map<String, dynamic>? headers,
  Map<String, dynamic>? extra,
  ValidateStatus? validateStatus,
  ProgressCallback? onSendProgress,
  ProgressCallback? onReceiveProgress,
}) async {
  final _request = RequestOptions(
    path: r'/maps/api/place/details/json',
    method: 'GET',
    headers: <String, dynamic>{
      ...?headers,
    },
    queryParameters: <String, dynamic>{
      r'place_id': placeId,
      if (fields != null) r'fields': fields,
      if (sessiontoken != null) r'sessiontoken': sessiontoken,
      if (language != null) r'language': language,
      if (region != null) r'region': region,
    },
    extra: <String, dynamic>{
      'secure': <Map<String, String>>[
        {
          'type': 'apiKey',
          'name': 'ApiKeyAuth',
          'keyName': 'key',
          'where': 'query',
        },
      ],
      ...?extra,
    },
    validateStatus: validateStatus,
    contentType: 'application/json',
    cancelToken: cancelToken,
    onSendProgress: onSendProgress,
    onReceiveProgress: onReceiveProgress,
  );

  dynamic _bodyData;

  final _response = await _dio.request<dynamic>(
    _request.path,
    data: _bodyData,
    options: Options(
      method: _request.method,
      sendTimeout: _request.sendTimeout,
      receiveTimeout: _request.receiveTimeout,
      extra: _request.extra,
      headers: _request.headers,
      responseType: _request.responseType,
      contentType: _request.contentType,
      validateStatus: _request.validateStatus,
      receiveDataWhenStatusError: _request.receiveDataWhenStatusError,
      followRedirects: _request.followRedirects,
      maxRedirects: _request.maxRedirects,
      requestEncoder: _request.requestEncoder,
      listFormat: _request.listFormat,
    ),
  );

  const _responseType = FullType(PlacesDetailsResponse);
  final _responseData = _serializers.deserialize(
    _response.data,
    specifiedType: _responseType,
  ) as PlacesDetailsResponse?;

  return Response<PlacesDetailsResponse>(
    data: _responseData,
    headers: _response.headers,
    isRedirect: _response.isRedirect,
    requestOptions: _response.requestOptions,
    redirects: _response.redirects,
    statusCode: _response.statusCode,
    statusMessage: _response.statusMessage,
    extra: _response.extra,
  );
}