In order to achieve this mashup Map, we need to divide the incoming data in two parts / jsonps. One jsonp that give us all markers in the map, and another one that give us just the information about one soundscape.
It is necessary to do it this way because we want to load as many markers as posible in just one request, and we want to do it fast.
If we want to locate a sound in the map we only need its latitude and longitude coordinates. Besides that we also need to put the id of the article related to those coordinates, so we can get more information about it if we want.
So, this is the structure of the first jsonp:
It has only basic data related to markers and their sound:
This is how it should look like:
[ { "lat": "43.1791", "lon": "-7.45435", "id":"1891" },{ "lat": "43.3115", "lon": "-8.54908", "id":"1889" },{ "lat": "43.3112", "lon": "-8.55329", "id":"1888" } ] |
There should be possible to pass some parameters to the json in order to get different results, depending of the type of request we want to do. The pairs requests/parameters are as follows:
request: get articles from a given user
parameter: &user=xx
request: get articles from a given tag
parameter: &tag=xx
request: get articles from a given search stream
parameter: &search=xxxxxx
request: get a limited number of articles
parameter: &limit=xxx
request: get a jsonp version of the file
parameter: &callback=xxx
The second jsonp contains all the information related to just one article, which is:
In order to get the data, it is necessary to pass the id of the sound as a parameter. For this reason there would be an argument called id, like follows:
http://urlofmywebpage.org/jsonpgis-one.jsonp?id=234
Like before, it is also necessary to pass a callback parameter for building the jsonp. Like for instance:
http://urlofmywebpage.org/jsonpgis-one.jsonp?id=234&callback=?
This is how it should look like:
{ "title":"Title of the article", "description":"Description of the soundscape", "date":"2011-10-09 13:33:47", "permalink":"http://urlofmywebsite/title-of-the-article", "url_sound":"http://urlofmywebsite/IMG/mp3/name-of-the-audio-file.mp3", "url_image":"http://urlofmywebsite/IMG/mp3/name-of-the-image-file.jpg", "lat":"41.956", "lon":"-8.82992", "user":"user", "id":"322" } |
We have developed a SPIP plugin that creates these two jsonp files.
Check it out here:
JSONP Gis SPIP Plugin
We are also working on doing a WordPress plugin.
This entry was written by Sin categoría and tagged gis, jsonp. Leave a comment or view the discussion at the permalink.
, posted on 30 Xaneiro, 2012 at 22:42, filed under