Page MenuHomePhabricator

Add external map service limited to location
Open, MediumPublic

Description

Some map services offer their maps only for a limited region, so we need to show those links when the user is viewing only that region.

  • We could add geojson (geometry) field to the config file to specify the relevant region
  • The client could either see them based on the map view center, or overlaping bounding box
  • The geojson data will be stored in a separate file on the server, and merged with the externalData to minimize the payload (only referenced geojson objects will be attached to the result)

Schema:

{
  "regions": {
    // Value as returned from geoshapes service, GeoJSON's "geometries" field
    "Q30": {"type":"GeometryCollection","geometries":[{"type":"Polygon","coordinates":[[[-176.686, ...},
    ...
  }
  "services": [
  {
    "id": "us-and-canada-service",
    "featured": true,
    "region": ["Q30", "Q16"],  // US, Canada
    ...

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Proper geocoding database would probably be noticeably heavy to download, do we need a geolocation API?

If we have server-side api, we would have to call it for every map move - so it will be a non-cachable flood of api calls on every map move stop. Instead, we should provide simplified (all data rounded to 1 decimal digit) simplified geoshapes that each client would download from cache, and reuse from thereon.

Change 314636 had a related patch set uploaded (by Yurik):
WIP: Add external map service limited to location

https://gerrit.wikimedia.org/r/314636

Change 314636 abandoned by Sbisson:
WIP: Add external map service limited to location

Reason:
This change doesn't seem to be under active development. Please restore if I'm mistaken.

https://gerrit.wikimedia.org/r/314636

Being able to configure both regional services and default services on wiki (T152971) would be nice.