From 8bdb56f48d53ce7749c3f7ad74d9618d04cf4dc2 Mon Sep 17 00:00:00 2001 From: Danijela Date: Mon, 29 May 2017 22:46:19 +0200 Subject: [PATCH 1/3] adding support for formatted_address for GoogleMaps --- src/Provider/GoogleMaps/GoogleMaps.php | 3 +++ .../GoogleMaps/Model/GoogleAddress.php | 23 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/src/Provider/GoogleMaps/GoogleMaps.php b/src/Provider/GoogleMaps/GoogleMaps.php index 8ee5f0268..7e20099cd 100644 --- a/src/Provider/GoogleMaps/GoogleMaps.php +++ b/src/Provider/GoogleMaps/GoogleMaps.php @@ -264,6 +264,9 @@ private function fetchUrl($url, $locale, $limit) } if (isset($result->types)) { $address->setResultType($result->types); + } + if (isset($result->formatted_address)) { + $address->setFormattedAddress($result->formatted_address); } $results[] = $address; diff --git a/src/Provider/GoogleMaps/Model/GoogleAddress.php b/src/Provider/GoogleMaps/Model/GoogleAddress.php index 145aef195..9156620c9 100644 --- a/src/Provider/GoogleMaps/Model/GoogleAddress.php +++ b/src/Provider/GoogleMaps/Model/GoogleAddress.php @@ -29,6 +29,11 @@ final class GoogleAddress extends Address */ private $resultType = []; + /** + * @var string|null + */ + private $formattedAddress; + /** * @param null|string $locationType * @@ -68,4 +73,22 @@ public function setResultType(array $resultType) return $this; } + + /** + * @return null|string + */ + public function getFormattedAddress() + { + return $this->formattedAddress; + } + + /** + * @param null|string $formattedAddress + */ + public function setFormattedAddress($formattedAddress) + { + $this->formattedAddress = $formattedAddress; + + return $this; + } } From deb6277038fcab1ee0e1f1b25e78233882a55ac4 Mon Sep 17 00:00:00 2001 From: Danijela Date: Mon, 29 May 2017 23:59:31 +0200 Subject: [PATCH 2/3] cs --- src/Provider/GoogleMaps/GoogleMaps.php | 2 +- .../GoogleMaps/Model/GoogleAddress.php | 42 +++++++++---------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/Provider/GoogleMaps/GoogleMaps.php b/src/Provider/GoogleMaps/GoogleMaps.php index 7e20099cd..58b3af83d 100644 --- a/src/Provider/GoogleMaps/GoogleMaps.php +++ b/src/Provider/GoogleMaps/GoogleMaps.php @@ -265,7 +265,7 @@ private function fetchUrl($url, $locale, $limit) if (isset($result->types)) { $address->setResultType($result->types); } - if (isset($result->formatted_address)) { + if (isset($result->formatted_address)) { $address->setFormattedAddress($result->formatted_address); } $results[] = $address; diff --git a/src/Provider/GoogleMaps/Model/GoogleAddress.php b/src/Provider/GoogleMaps/Model/GoogleAddress.php index 9156620c9..0ae97a2e8 100644 --- a/src/Provider/GoogleMaps/Model/GoogleAddress.php +++ b/src/Provider/GoogleMaps/Model/GoogleAddress.php @@ -29,10 +29,10 @@ final class GoogleAddress extends Address */ private $resultType = []; - /** - * @var string|null - */ - private $formattedAddress; + /** + * @var string|null + */ + private $formattedAddress; /** * @param null|string $locationType @@ -74,21 +74,21 @@ public function setResultType(array $resultType) return $this; } - /** - * @return null|string - */ - public function getFormattedAddress() - { - return $this->formattedAddress; - } - - /** - * @param null|string $formattedAddress - */ - public function setFormattedAddress($formattedAddress) - { - $this->formattedAddress = $formattedAddress; - - return $this; - } + /** + * @return null|string + */ + public function getFormattedAddress() + { + return $this->formattedAddress; + } + + /** + * @param null|string $formattedAddress + */ + public function setFormattedAddress($formattedAddress) + { + $this->formattedAddress = $formattedAddress; + + return $this; + } } From 3d786f213e25a267fe759ab0ab8af8df440801f7 Mon Sep 17 00:00:00 2001 From: Danijela Date: Tue, 30 May 2017 00:40:12 +0200 Subject: [PATCH 3/3] fix for immutable address, PR #624 #652 --- src/Provider/GoogleMaps/GoogleMaps.php | 2 +- src/Provider/GoogleMaps/Model/GoogleAddress.php | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Provider/GoogleMaps/GoogleMaps.php b/src/Provider/GoogleMaps/GoogleMaps.php index 58b3af83d..5204b59cb 100644 --- a/src/Provider/GoogleMaps/GoogleMaps.php +++ b/src/Provider/GoogleMaps/GoogleMaps.php @@ -266,7 +266,7 @@ private function fetchUrl($url, $locale, $limit) $address->setResultType($result->types); } if (isset($result->formatted_address)) { - $address->setFormattedAddress($result->formatted_address); + $address = $address->withFormattedAddress($result->formatted_address); } $results[] = $address; diff --git a/src/Provider/GoogleMaps/Model/GoogleAddress.php b/src/Provider/GoogleMaps/Model/GoogleAddress.php index 0ae97a2e8..15e291c6b 100644 --- a/src/Provider/GoogleMaps/Model/GoogleAddress.php +++ b/src/Provider/GoogleMaps/Model/GoogleAddress.php @@ -85,10 +85,11 @@ public function getFormattedAddress() /** * @param null|string $formattedAddress */ - public function setFormattedAddress($formattedAddress) + public function withFormattedAddress($formattedAddress) { - $this->formattedAddress = $formattedAddress; + $new = clone $this; + $new->formattedAddress = $formattedAddress; - return $this; + return $new; } }