Skip to content

Provides geolocation information to templates

License

Notifications You must be signed in to change notification settings

SemanticMediaWiki/WhatsNearby

Repository files navigation

Whats Nearby

Build Status Code Coverage Scrutinizer Code Quality Latest Stable Version Packagist download count

Whats Nearby is a small extension that adds geolocation (HTML5) detection information to templates in order for #ask distance queries to generate adaptive content.

This extension can be used to:

  • Display queryable content that depends on variable location information (detectLocation, watchLocation)
  • Instantly modify distance queries (@@radius) from a page view that rely on static coordinates
  • Generate dynamic queryable #ask lists

Privacy: This extension makes actively use of the HTML5 geolocation feature in case the nolocation parameter is not used.

Requirements

  • PHP 5.3.2 or later
  • MediaWiki 1.23 or later
  • Maps 3.5 or later

Installation

The recommended way to install WhatsNearby is by using Composer with an entry in MediaWiki's composer.json.

{
	"require": {
		"mediawiki/whats-nearby": "~1.0"
	}
}
  1. From your MediaWiki installation directory, execute composer require mediawiki/whats-nearby:~1.0
  2. Navigate to Special:Version on your wiki and verify that the package have been successfully installed.

Usage

image

Add a #nearby parser function to a page where the content is expected to be displayed for a geolocation.

{{#nearby:
 |querytemplate=Local libraries,Point of interest
 |coordinates=47° 37' 13.9368'' N,122° 20' 56.8860'' W
 |radius=300 m
 |interval=450
 |max=10000
 |format=googlemaps
 |detectLocation=true
 |watchLocation=false
 |localCache=300
 |controls=slider
 |class=extra-nearby-location
}}

Detailed information about the #nearby parser function and how to make use of templates can be found here.

Contribution and support

If you want to contribute work to the project please subscribe to the developers mailing list and have a look at the contribution guideline.

Tests

This extension provides unit and integration tests that are run by a continues integration platform but can also be executed using composer phpunit from the extension base directory.

License

GNU General Public License, version 2 or later.