A CakePHP plugin around geocoding tools and helpers.
Included commits: https://github.com/dereuromark/cakephp-geo/compare/3.4.0...3.4.1
Added closure support for address elements in Geocoder lookup.
Sometimes, you need to have more logic for a specific address field. In this case you can use a closure to make dynamic lookups where needed.
$this->addBehavior('Geo.Geocoder', [ 'address' => ['street', 'postal_code', 'city', function (Event $entity) {
if ($entity->country && $entity->country->id && $entity->country_id === $entity->country->id) {
return $entity->country->name;
}
if ($entity->get('country_name')) {
return $entity->get('country_name');
}
if ($entity->country_id) {
$country = $this->Countries->get($entity->country_id);
return $country->name;
}
return null;
}]]);
Removed deprecated php-http/cakephp-adapter
dependency and directly use CakePHP Client class.
Make sure to remove this dependency on your project level if you have it included. This is required for the update to work.
Note: This plugin is now PHP 8.1+ also for CakePHP 4 due to this change. Make sure you have the required min PHP version before updating.