PHPackages                             silvershop/geocoding - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. silvershop/geocoding

ActiveSilverstripe-vendormodule[Utility &amp; Helpers](/categories/utility)

silvershop/geocoding
====================

Geocoding support for SilverShop.

2.1.0(3y ago)718.2k↓16.7%12[1 PRs](https://github.com/silvershop/silvershop-geocoding/pulls)BSD-3-ClausePHPCI failing

Since Feb 13Pushed 1w ago3 watchersCompare

[ Source](https://github.com/silvershop/silvershop-geocoding)[ Packagist](https://packagist.org/packages/silvershop/geocoding)[ RSS](/packages/silvershop-geocoding/feed)WikiDiscussions main Synced 2w ago

READMEChangelog (1)Dependencies (9)Versions (13)Used By (0)

SilverShop Geocoding
====================

[](#silvershop-geocoding)

Adds geocoding support to SilverShop. Work out address coordinates, based on entered address.

Makes use of the [geocoder-php/Geocoder](https://github.com/geocoder-php/Geocoder) library.

[![Latest Stable Version](https://camo.githubusercontent.com/a079339493b18bea56b66094e129c1795e2d562b4df36858b417277245287ce2/68747470733a2f2f706f7365722e707567782e6f72672f73696c76657273686f702f67656f636f64696e672f762f737461626c652e706e67)](https://packagist.org/packages/silvershop/geocoding)[![Latest Unstable Version](https://camo.githubusercontent.com/99cb07ecf5cc34e00fc28b842df60d8e8b7bd9cdf23bdc4773cf1e2a6ead4b82/68747470733a2f2f706f7365722e707567782e6f72672f73696c76657273686f702f67656f636f64696e672f762f756e737461626c652e706e67)](https://packagist.org/packages/silvershop/geocoding)[![CI](https://github.com/silvershop/silvershop-geocoding/actions/workflows/ci.yml/badge.svg)](https://github.com/silvershop/silvershop-geocoding/actions/workflows/ci.yml)[![Total Downloads](https://camo.githubusercontent.com/a13f64cd15aabde9ab9d3ad0dfc571d186bc1f4995299d27186ae15930d4650d/68747470733a2f2f706f7365722e707567782e6f72672f73696c76657273686f702f67656f636f64696e672f646f776e6c6f6164732e706e67)](https://packagist.org/packages/silvershop/geocoding)

Installation
------------

[](#installation)

```
composer require silvershop/geocoding
```

Configuration
-------------

[](#configuration)

A default configuration is provided, but you can define your own.

In \_config.php:

```
$geocoder = new \Geocoder\Geocoder();
$adapter  = new \Geocoder\HttpAdapter\CurlHttpAdapter();
$geocoder->registerProvider(
	new \Geocoder\Provider\ChainProvider(array(
		new \Geocoder\Provider\HostIpProvider($adapter),
		new \Geocoder\Provider\GoogleMapsProvider($adapter)
	))
);
AddressGeocoding::set_geocoder($geocoder);
```

To test ips locally, you can configure a 'test ip' in your config:

```
Address:
  test_ip: 202.160.48.114
```

Add `relocateuser=1` to a url to rerun the geocoder.

### Disable address coordinates geocoding

[](#disable-address-coordinates-geocoding)

By default an address's latitude and longitude is automatically retrieved on save if it has not already been worked out. This behavior can be disabled like this:

```
Address:
  enable_geocoding: false
```

### Disable automatic visitor ip geocoding

[](#disable-automatic-visitor-ip-geocoding)

By default this module geocodes the ip of every visitor. This behaviour can be disabled like this:

```
Page:
  geocode_visitor_ip: false
```

Warning
-------

[](#warning)

Relying on 3rd-party geocoding services can potentially slow down your website, especially if the external service comes under heavy load. You may want to consider setting up your own geocoding server instance.

Map fall back
=============

[](#map-fall-back)

If an address can't be geocoded, then provide a fallback checkout step for designating the coordinates with a google map field.

Be sure to add the checkout step to yaml config. After billing address will probably work best:

```
CheckoutPage:
  steps:
    'membership' : 'CheckoutStep_Membership'
    'contactdetails' : 'CheckoutStep_ContactDetails'
    'shippingaddress' : 'CheckoutStep_Address'
    'billingaddress' : 'CheckoutStep_Address'
    'addresslocation' : 'CheckoutStep_AddressLocationFallback' #here
    'shippingmethod' : 'CheckoutStep_ShippingMethod'
    'paymentmethod' : 'CheckoutStep_PaymentMethod'
    'summary' : 'CheckoutStep_Summary'
```

###  Health Score

50

—

FairBetter than 95% of packages

Maintenance64

Regular maintenance activity

Popularity32

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~348 days

Recently: every ~806 days

Total

11

Last Release

1084d ago

Major Versions

1.2.3 → 2.0.02016-06-12

### Community

Maintainers

![](https://www.gravatar.com/avatar/485dfc9fc93cad085c83c3276f19b6e9322ee910ab0e1685de0db42228dbf97b?d=identicon)[markguinn](/maintainers/markguinn)

![](https://avatars.githubusercontent.com/u/101629?v=4)[Will Rossiter](/maintainers/wilr)[@wilr](https://github.com/wilr)

![](https://www.gravatar.com/avatar/f39f353582e9ecbe9a3fe548c34694a26f82f4926e7f41d31f3c66389dd2b885?d=identicon)[anselmdk](/maintainers/anselmdk)

![](https://www.gravatar.com/avatar/ace339d9696dfdf9e2f3c6abc212a3abb390b0b51fff48285036b7da8f0be098?d=identicon)[bummzack](/maintainers/bummzack)

---

Top Contributors

[![wilr](https://avatars.githubusercontent.com/u/101629?v=4)](https://github.com/wilr "wilr (24 commits)")[![jedateach](https://avatars.githubusercontent.com/u/1356335?v=4)](https://github.com/jedateach "jedateach (18 commits)")[![AntonyThorpe](https://avatars.githubusercontent.com/u/1023740?v=4)](https://github.com/AntonyThorpe "AntonyThorpe (3 commits)")[![Copilot](https://avatars.githubusercontent.com/in/1143301?v=4)](https://github.com/Copilot "Copilot (2 commits)")[![TheBnl](https://avatars.githubusercontent.com/u/1334195?v=4)](https://github.com/TheBnl "TheBnl (2 commits)")[![wernerkrauss](https://avatars.githubusercontent.com/u/1043925?v=4)](https://github.com/wernerkrauss "wernerkrauss (1 commits)")

---

Tags

geocodingaddresssilverstripeIPshopecommerce

### Embed Badge

![Health badge](/badges/silvershop-geocoding/health.svg)

```
[![Health](https://phpackages.com/badges/silvershop-geocoding/health.svg)](https://phpackages.com/packages/silvershop-geocoding)
```

###  Alternatives

[toin0u/geocoder-laravel

Geocoder Service Provider for Laravel

7515.5M20](/packages/toin0u-geocoder-laravel)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.5k6.0M777](/packages/sylius-sylius)[leantime/leantime

Open source project management system for non-project managers. Simple like Trello, powerful like Jira. Built with neurodiversity in mind.

11.3k4.0k](/packages/leantime-leantime)[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

353.6k](/packages/eslazarev-wildberries-sdk)[oat-sa/tao-core

TAO core extension

64147.9k151](/packages/oat-sa-tao-core)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
