Compare commits

...

2 Commits

@ -16,9 +16,12 @@ interface GeocodingServiceContract
public function getCoordinatesForAddress(string $address): GeocodingResponseData;
/**
* @param float $latitude
* @param float $longitude
* @return array
* Retrieves the address for the given coordinates.
*
* @param float $latitude The latitude of the coordinates.
* @param float $longitude The longitude of the coordinates.
*
* @return GeocodingResponseData The address information for the given coordinates.
*/
public function getAddressForCoordinates(float $latitude, float $longitude): array;
public function getAddressForCoordinates(float $latitude, float $longitude): GeocodingResponseData;
}

@ -37,8 +37,16 @@ class GeocodingService implements GeocodingServiceContract
*/
public function getCoordinatesForAddress(string $address): GeocodingResponseData
{
$response = $this->geocoder->getCoordinatesForAddress($address);
$viewport = array_key_exists('viewport', $response)
? get_object_vars($response['viewport'])
: [];
$response['viewport'] = $viewport;
return GeocodingResponseData::from(
$this->geocoder->getCoordinatesForAddress($address)
$response
);
}
@ -48,10 +56,20 @@ class GeocodingService implements GeocodingServiceContract
* @param float $latitude The latitude of the coordinates.
* @param float $longitude The longitude of the coordinates.
*
* @return array The address information for the given coordinates.
* @return GeocodingResponseData The address information for the given coordinates.
*/
public function getAddressForCoordinates(float $latitude, float $longitude): array
public function getAddressForCoordinates(float $latitude, float $longitude): GeocodingResponseData
{
return $this->geocoder->getAddressForCoordinates($latitude, $longitude);
$response = $this->geocoder->getAddressForCoordinates($latitude, $longitude);
$viewport = array_key_exists('viewport', $response)
? get_object_vars($response['viewport'])
: [];
$response['viewport'] = $viewport;
return GeocodingResponseData::from(
$response
);
}
}
Loading…
Cancel
Save