Ochre W3C Geolocation Services Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
Ochre’s Geolocation Services plugin for
WordPress utilizes the W3C Geolocation API to retrieve a visitor’s physical location, enabling a
WordPress website to present content relevant to a visitors current physical location such as local maps, event listings, branch and franchise locations, social media and other information that is geographically
interesting.
The plugin provides three “back end” action hooks for use by your or third party plugins or theme actions, and AJAX actions for “front end” customization such as executing javascript with the resolved Location information, redirecting to a new page, or refreshing the current page.
Configuration
Global Configuration is available from the WordPress settings->Ochre Geolocation page:
- Global or per-post/per page geolocation behavour
Per-page and per-post configurations include:
- Executing custom javascript
- Redirecting to a URL
- Performing a page refresh
- Firing off the ochregeo actions but doing nothing on the front end
- Disabling completely
Actions
The following actions for do_action() are fired when a Geolocation update is received:
- ochregeo_received_nosupport : No Geolocation support in the device/browser
- ochregeo_received_unknownpos : A position could not be retrieved
- ochregeo_received_location : Position was received. This action is passed the OCHRELABS_WP_Geolocation object as its only argument
AJAX actions
The following AJAX actions are implemented:
- (nopriv) ochregeo_ochregeos : Transmits location information and executes an action based on a per-post/page or global setting.
- (nopriv) ochregeo_get_coordinates : Retrieves last received location information. (we haven’t tested this)
Executing custom javascript after a succesful Geolocation update
Javascript executed on a per-page/post or global basis has access to a res
object
containing information from the Geolocation Service plugin.
Properties of this object are:
res.la; // latitude
res.ll; // longitude
res.ev; // elevation (not always available - do not rely on)
res.ac // accuracy (not always available - do not rely on)
If reverse geo coding is enabled, the object may also contain:
res.country // country
res.countryc // country code
res.state // state
res.statec // state code
res.city // city
El Quickie API Reference
`
// This is the Ochre Geo object instantiated by the plugin.
$ochre_geo = new OCHRELABS_WP_Geolocation();
// Get status of the current geolocation request. $ochre_geo::STATUS_UPDATED means you have “valid” coordinate data.
// Constants are:
$ochre_geo::STATUS_QUERY; // waiting for update from client
$ochre_geo::STATUS_UPDATED; // received coordinate update from client
$ochre_geo::STATUS_NOTSUPPORTED; // client does not support geo location
$ochre_geo::STATUS_ERROR; // an error was returned from the client
$ochre_geo::STATUS_UNKNOWNPOS; // location was unknown
$ochre_geo::STATUS_DISABLED; // module has been told not to present geolocation query
$ochre_geo->get_status();
// Set the location information manually (not normally needed)
$ochre_geo->set_coordinates($latitude,$longitude,$elevation=0,$accuracy=0);
// get the current resolved location information – check get_status() first before relying on this data!
// the returned array will be something like: array(“latitude”=>49.1234, “longitude”=>”-123.1234″,”elevation”=>0,”accuracy”=>0);
$ochre_geo->get_coordinates();
// geocodes the current resolved location information and returns it as an array like array(“city”=>”Vancouver”,”country”=>”Canada”,”state”=>”British Columbia”,”statec”=>”BC”,”country”=>”Canada”,”countryc”=>”CA”)
$ochre_geo->geocode();
<h3>Reverse Geo Coder</h3>We've thrown in Yahoo! place finder Geocoding support. The geocoder()
returns an array consisting of something like:
array(
“city”=>”Vancouver”,”
“country”=>”Canada”,
“state”=>”British Columbia”,
“statec”=>”BC”,
“country”=>”Canada”,
“countryc”=>”CA”
)
`
Geo Coding support is still young and subject to change. It’s not hooked into the Javascript API, and since there are at least a few geo coder javascript api’s already out there we haven’t decided whether to do this or not.
Screenshots
No screenshots provided