Difference between revisions of "Widget:SpaceAPI"
m (first preparation on polyline (my bus is nearing the station)) |
m (train tsransit, almost there..) |
||
| Line 85: | Line 85: | ||
SpaceAPI.prototype._drawBeaconPolyLine = function( ) | SpaceAPI.prototype._drawBeaconPolyLine = function( ) | ||
{ | { | ||
| − | if ( this.data.sensors.beacon.length < 50 ) | + | if ( this.data.sensors && this.data.sensors.beacon && this.data.sensors.beacon.length < 50 ) |
return; | return; | ||
| + | |||
| + | var points = []; | ||
| + | var bounds = _event.target.getBounds(); | ||
| + | |||
| + | // Only add points within the bounds | ||
| + | for ( n = 0, len = this.data.sensors.beacon.length; n < len; ++n ) | ||
| + | { | ||
| + | var point = L.latLng( this.data.sensors.beacon[n].lat, this.data.sensors.beacon[n].lon ); | ||
| + | if ( bounds.contains( point )) | ||
| + | points.push(); | ||
| + | } | ||
| + | |||
| + | // TODO: limit the amount of points to 1000 | ||
| + | |||
| + | // TODO: update existing polyline | ||
| + | //L.polyline(points, {color: 'green'}).addTo( this._leaflet.map ); | ||
| + | |||
//this.data.sensors.beacon.map( function( _apiBeacon ) | //this.data.sensors.beacon.map( function( _apiBeacon ) | ||
| Line 286: | Line 303: | ||
} ).addTo( this._leaflet.map ); | } ).addTo( this._leaflet.map ); | ||
| − | this._leaflet.map.on(' | + | this._leaflet.map.on('moveend', function( _event ) |
{ | { | ||
this._drawBeaconPolyLine( _event ); | this._drawBeaconPolyLine( _event ); | ||
Revision as of 09:45, 20 May 2018
This widget allows you to display the Space API data (provided as JSON)
Created by Xopr
Using this widget
To insert this widget, use the following code:
{{#widget:SpaceAPI
|url=/spaceAPI/
|width=260px
|height=20px
|padding=8px
|interval=20
|float=right
|features=beacon
}}
This will give the following result:
Notes
- url is mandatory, the rest is optional (leave out interval to make the data static).
- it also must be written without protocol since colon (:) is not allowed, and may be relative, for example: //ackspace.nl/spaceAPI/ or /spaceAPI/
- You must provide a unit for the sizes (i.e. px, %, etc.)
Copy to your site
To use this widget on your site, just install MediaWiki Widgets extension and copy full source code of this page to your wiki as Widget:SpaceAPI article.