2017 © Pedro PelĆ”ez
 

silverstripe-vendormodule silverstripe-geocoder

SilverStripe wrapper for Geocoder

image

dynamic/silverstripe-geocoder

SilverStripe wrapper for Geocoder

  • Thursday, July 12, 2018
  • by dynamic
  • Repository
  • 4 Watchers
  • 2 Stars
  • 4,360 Installations
  • PHP
  • 3 Dependents
  • 0 Suggesters
  • 5 Forks
  • 5 Open issues
  • 4 Versions
  • 48 % Grown

The README.md

SilverStripe Geocoder

SilverStripe wrapper for Geocoder, (*1)

CI codecov, (*2)

Latest Stable Version Total Downloads Latest Unstable Version License, (*3)

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

Installation

composer require dynamic/silverstripe-geocoder, (*4)

License

See License, (*5)

Example usage

Getting Started

in mysite/_config/config.yml, apply the DataExtensions to your DataObject:, (*6)

SilverStripe\ORM\DataObject:
  extensions:
    - Dynamic\SilverStripeGeocoder\AddressDataExtension
    - Dynamic\SilverStripeGeocoder\DistanceDataExtension

Google API Keys

You'll also need to set two Google API keys. Each key needs to have specific API libraries enabled: * geocoder_api_key * Geocoding API * map_api_key * Maps JavaScript API * Maps Static API, (*7)

This is primarily due to the restriction rules on Google API keys. The Geocoding key should be tied to the webserver's public IP, while the Maps API needs to be restricted to the website's domain name. Restriction rules help to prevent unauthorized users to use your keys, which can quickly use up your API requests quota., (*8)

Dynamic\SilverStripeGeocoder\GoogleGeocoder:
  geocoder_api_key: 'your-key-here'
  map_api_key: 'your-key-here'

Documentation

AddressDataExtension

The AddressDataExtension adds Address, Address2, City, State, PostalCode, Country, Lat, and Lng fields. The Lat and Lng fields are read only in the cms and are automatically generated on write. Geocoding can be disabled on a model basis by setting disable_geocoding to true., (*9)

SilverStripe\ORM\DataObject:
    disable_geocoding: true

Static Map Image

Using $AddressMap in a template will render the map. $AddressMap also has options to easily modify the width, height, and scale of the map. $AddressMap(320, 240, 1), (*10)

Map Style

The map can be styled by adding a mapStyle.json in any of the following folders in a theme:, (*11)

client/dist/js/
client/dist/javascript/
dist/js/
dist/javascript/
src/javascript/thirdparty
js/
javascript/

Styles can be generated using an online service like Styling Wizard: Google Maps APIs, (*12)

Marker Image

This does not work on local due to google needing to download the image off the server., (*13)

A custom marker image can be used to match the style of the map in about the same way as the style. An image named mapIcon with an extension of png, jpg, jpeg, or gif can be put in any of the following folders in a theme:, (*14)

client/dist/img/
client/dist/images/
dist/img/
dist/images/
img/
images/

DistanceDataExtension

The DistanceDataExtension should be used in conjunction with the AddressDataExtension. The only time it is viable by itself is if the extended DataObject has Lat and Lng fields., (*15)

The DistanceDataExtension will add a pseudo field for distance away from an address to a DataObject. The address to check the distance to is from the current controller initially. This can be changed by implementing updateAddressValue($address) on the DataObject or an extension., (*16)

/**
 * Always get the distance from Neuschwanstein Castle
 */
public function updateAddressValue(&$address) {
    $address = 'NeuschwansteinstraƟe 20, 87645 Schwangau, Germany';
}

Maintainers

Bugtracker

Bugs are tracked in the issues section of this repository. Before submitting an issue please read over existing issues to ensure yours is unique., (*17)

If the issue does look like a new bug:, (*18)

  • Create a new issue
  • Describe the steps required to reproduce your issue, and the expected outcome. Unit tests, screenshots and screencasts can help here.
  • Describe your environment as detailed as possible: SilverStripe version, Browser, PHP version, Operating System, any installed SilverStripe modules.

Please report security issues to the module maintainers directly. Please don't file security issues in the bugtracker., (*19)

Development and contribution

If you would like to make contributions to the module please ensure you raise a pull request and discuss with the module maintainers., (*20)

The Versions

12/07 2018

dev-master

9999999-dev

SilverStripe wrapper for Geocoder

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

by Dynamic, Inc

geocoding silverstripe geocoder

16/11 2017

dev-var-config

dev-var-config

SilverStripe wrapper for Geocoder

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

by Dynamic, Inc

geocoding silverstripe geocoder

01/10 2017

dev-refactor/showDirections

dev-refactor/showDirections

SilverStripe wrapper for Geocoder

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

by Dynamic, Inc

geocoding silverstripe geocoder

29/09 2017

dev-refactor/travisTweaks

dev-refactor/travisTweaks

SilverStripe wrapper for Geocoder

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

by Dynamic, Inc

geocoding silverstripe geocoder