Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 28 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,27 +3,35 @@
SilverStripe wrapper for [Geocoder](https://github.com/geocoder-php/Geocoder)

[![CI](https://github.com/dynamic/silverstripe-geocoder/actions/workflows/ci.yml/badge.svg)](https://github.com/dynamic/silverstripe-geocoder/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/dynamic/silverstripe-geocoder/branch/master/graph/badge.svg)](https://codecov.io/gh/dynamic/silverstripe-geocoder)
[![Sponsor](https://img.shields.io/badge/Sponsor-Dynamic-brightgreen)](https://github.com/sponsors/dynamic)
[![GitHub Sponsors](https://img.shields.io/github/sponsors/dynamic?label=Sponsors&logo=GitHub%20Sponsors&style=flat&color=ea4aaa)](https://github.com/sponsors/dynamic)

[![Latest Stable Version](https://poser.pugx.org/dynamic/silverstripe-geocoder/v/stable)](https://packagist.org/packages/dynamic/silverstripe-geocoder)
[![Total Downloads](https://poser.pugx.org/dynamic/silverstripe-geocoder/downloads)](https://packagist.org/packages/dynamic/silverstripe-geocoder)
[![Latest Unstable Version](https://poser.pugx.org/dynamic/silverstripe-geocoder/v/unstable)](https://packagist.org/packages/dynamic/silverstripe-geocoder)
[![License](https://poser.pugx.org/dynamic/silverstripe-geocoder/license)](https://packagist.org/packages/dynamic/silverstripe-geocoder)

## Requirements

- Silverstripe ^5
- dynamic/silverstripe-country-dropdown-field ^2
- geocoder-php/google-maps-provider ^4.7
- guzzlehttp/guzzle ^7.4
- php-http/guzzle7-adapter ^1.0
- php-http/message ^1.13
- PHP: ^8.3
- silverstripe/recipe-core: ^6
- dynamic/silverstripe-country-dropdown-field: ^3
- geocoder-php/google-maps-provider: ^4.7
- guzzlehttp/guzzle: ^7.4
- php-http/guzzle7-adapter: ^1.0
- php-http/message: ^1.13

## Installation

`composer require dynamic/silverstripe-geocoder`

## Features

- **Address Geocoding**: Automatically convert addresses to latitude/longitude coordinates using Google Maps Geocoding API
- **Address Data Extension**: Adds comprehensive address fields (Address, City, State, PostalCode, Country, Lat, Lng) to any DataObject
- **Distance Calculation**: Calculate and filter DataObjects by distance from a given address
- **Static Map Generation**: Generate static Google Maps images with custom styling and markers
- **Country Dropdown Integration**: Includes country selection field with international support
- **Flexible Configuration**: Disable geocoding per DataObject, customize map styles, and use custom marker icons

## License

See [License](license.md)
Expand Down Expand Up @@ -121,6 +129,17 @@ public function updateAddressValue(&$address) {
}
```

## Upgrading from version 3

SilverStripe Geocoder v4.0 is compatible with SilverStripe 6. Key changes:

- Updated to SilverStripe CMS 6
- Requires PHP 8.3 or higher
- Updated `dynamic/silverstripe-country-dropdown-field` from ^2 to ^3 (SS6 compatible)
- Internal extension namespace changes (ORM → Core\Extension); no changes required in user code

For details on the SilverStripe 6 upgrade, see the [SilverStripe 6 upgrade guide](https://docs.silverstripe.org/en/6/changelogs/6.0.0/).

## Maintainers
* [Dynamic](http://www.dynamicagency.com) (<dev@dynamicagency.com>)

Expand Down
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
}
],
"require": {
"php": "^8.1",
"php": "^8.3",
"dynamic/silverstripe-country-dropdown-field": "^3",
"geocoder-php/google-maps-provider": "^4.7",
"guzzlehttp/guzzle": "^7.4",
Expand Down