Difference between revisions of "Widget:SpaceAPI"

From Hackerspace ACKspace
Jump to: navigation, search
m (train tsransit, almost there..)
m (change of plans; polyline has internal optimization)
Line 92: Line 92:
  
 
// Only add points within the bounds
 
// Only add points within the bounds
for ( n = 0, len = this.data.sensors.beacon.length; n < len; ++n )
+
if ( this._leaflet.beaconCount !== this.data.sensors.beacon.length )
 
{
 
{
var point = L.latLng( this.data.sensors.beacon[n].lat, this.data.sensors.beacon[n].lon );
+
this._leaflet.beaconCount = this.data.sensors.beacon.length;
if ( bounds.contains( point ))
+
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 );
 
points.push();
 
points.push();
}
+
}
 
 
// TODO: limit the amount of points to 1000
 
 
 
// TODO: update existing polyline
 
//L.polyline(points, {color: 'green'}).addTo( this._leaflet.map );
 
  
 +
if ( !this._leaflet.beaconline )
 +
this._leaflet.beaconline = L.polyline(points, {color: 'green'}).addTo( this._leaflet.map );
 +
else
 +
this._leaflet.beaconline.setLatLngs( points );
  
 
//this.data.sensors.beacon.map( function( _apiBeacon )
 
//this.data.sensors.beacon.map( function( _apiBeacon )
Line 305: Line 306:
 
this._leaflet.map.on('moveend', function( _event )
 
this._leaflet.map.on('moveend', function( _event )
 
{
 
{
this._drawBeaconPolyLine( _event );
+
//this._drawBeaconPolyLine( _event );
  
 
}, this );
 
}, this );
Line 326: Line 327:
  
  
this._drawBeaconPolyLine( _event );
+
//this._drawBeaconPolyLine( _event );
  
  
Line 707: Line 708:
 
}
 
}
 
}
 
}
 
+
else
 +
{
 +
this._drawBeaconPolyLine( _event );
 +
}
  
 
// TODO: Update if coordinate is incorrect
 
// TODO: Update if coordinate is incorrect

Revision as of 11:07, 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.