3.4.5releasedMap Location Field
Plot locations on a Google Map. Supports address geocoding.
Clone URLhttps://github.com/symphonists/maplocationfield.git
Add as a submodulegit submodule add https://github.com/symphonists/maplocationfield.git extensions/maplocationfield --recursive
Compatibility
2.x.x | 2.1.x | 2.2.x | 2.3.x | 2.4.x | 2.5.x | 2.6.x | 2.7.0 | 2.7.1 | 2.7.2 | 2.7.3 | 2.7.4 | 2.7.5 | 2.7.6 | 2.7.7 | 2.7.8 | 2.7.9 | 2.7.10 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
No | No | 3.2.3 | 3.4.5 | 3.4.5 | 3.4.5 | 3.4.5 | 3.4.5 | 3.4.5 | 3.4.5 | 3.4.5 | 3.4.5 | 3.4.5 | 3.4.5 | 3.4.5 | 3.4.5 | 3.4.5 | 3.4.5 |
Readme
Map Location Field
~~Ugly~~ Slightly dirty hack from Nick Dunn’s original version.
- Removed Tabs
- Removed sensor option
- Possibility to add API-Key in field settings
- OSM Map included as Layer
- Localisation
Installation
- Upload the
/maplocationfield
folder in this archive to your Symphony/extensions
folder - Enable it by selecting the "Field: Map Location", choose Enable from the with-selected menu, then click Apply
- The field will be available in the list when creating a Section
- You will need a Google Maps API Key in order to use geolocations services. If you have that, paste it in the appropriate field in the field settings.
Configuration
When adding this field to a section, the following options are available to you:
- Default Marker Location is the address of a default marker. Enter any address/ZIP to be geocoded
- Default Zoom Level is the initial zoom level of the map
The field works in both Main Content and Sidebar columns, collapsing to a smaller viewport if required.
Usage
When creating a new entry, drag the red marker on the map to change location. To tweak the latitude/longitude use the corresponding fields below the map. The address input also allows you to enter an address to be geocoded and placed on the map.
Data Source Filtering
The field provides a single syntax for radius-based searches. Use the following as a DS filter:
within DISTANCE UNIT of ORIGIN
DISTANCE
is an integerUNIT
is the distance unit:km
,mile
ormiles
ORIGIN
is the centre of the radius. Accepts either a latitude/longitude pair or an address
Examples:
within 20 km of 10.545,-103.1
within 1km of 1 West Street, Burleigh Heads, Australia
within 500 miles of London
To make the filters dynamic, use the parameter syntax like any other filter. For example using querystring parameters:
within {$url-distance} {$url-unit} of {$url-origin}
Attached to a page invoked as:
/?distance=30&unit=km&origin=London,England
Data Source XML result
The XML output of the field looks like this:
<location latitude="51.6614" longitude="-0.40042">
<map zoom="15" centre="51.6614,-0.40042" />
</location>
The first two attributes are the latitude/longitude of the marker on the map. The <map>
element contains any information you need to rebuild the Google Map on the frontend of your website: its zoom level, centre-point and your API key.
If you are filtering using the Map Location Field using a "within" filter then you will see an additional <distance>
element:
<location latitude="51.6614" longitude="-0.40042">
<map zoom="15" centre="51.6614,-0.40042" />
<distance from="51.6245572,-0.4674079" distance="3.8" unit="miles" />
</location>
The from
attribute is the latitude/longitude resolved from the DS filter (the origin), the unit
shows either "km" or "miles" depending on what you use in your filter, and distance
is the distance between your map marker and the origin.
Version history
Symphony 2.3.x to 2.x.x
- More compatibility with PHP7
Symphony 2.3.x to 2.x.x
- use
M_PI
variable for PHP 7.1 Compatibility
Symphony 2.3.x to 2.x.x
- include getExampleFormMarkup() for frontend data submission via events
Symphony 2.3.x to 2.x.x
- fix for missing column on fresh install
Symphony 2.3.x to 2.x.x
- localisation for german/french/norwegian
Symphony 2.3.x to 2.x.x
- make API key configurable in field settings
- https everywhere
Requires Symphony 2.3.x
- switch to https to fix broken default geocoding
Requires Symphony 2.3.x
- Remove Tabs
- Remove sensor option
- Possibility to add API-Key
- OSM and other custom maps included
Requires Symphony 2.3.x
Requires Symphony 2.3.x
Symphony 2.2 to 2.2.x
Requires Symphony 2.2