Difference between revisions of "Widget:SpaceAPI"
m (fixed popup bug (wrong item returned)) |
m (added follow toggle machanism) |
||
Line 119: | Line 119: | ||
}).addTo( this._beacon.map ); | }).addTo( this._beacon.map ); | ||
− | // | + | // "Follow" control |
this._beacon.follow = true; | this._beacon.follow = true; | ||
+ | L.Control.Command = L.Control.extend( | ||
+ | { | ||
+ | options: | ||
+ | { | ||
+ | position: 'topleft', | ||
+ | }, | ||
+ | |||
+ | onAdd: function( _map ) | ||
+ | { | ||
+ | var controlDiv = L.DomUtil.create( "div", "leaflet-bar" ); | ||
+ | var controlUI = L.DomUtil.create( "a", "leaflet-clickable" + (this._beacon.follow ? " toggle" : ""), controlDiv ); | ||
+ | controlUI.innerHTML = "⌖"; | ||
+ | controlUI.style.fontSize = "35px"; | ||
+ | controlUI.title = 'Follow'; | ||
+ | |||
+ | L.DomEvent.addListener( controlUI, 'click', function( _evt ) | ||
+ | { | ||
+ | this._beacon.follow = !this._beacon.follow; | ||
+ | _evt.currentTarget.className = "leaflet-clickable" + (this._beacon.follow ? " toggle" : ""); | ||
+ | |||
+ | console.log( _evt.currentTarget, this ) | ||
+ | }.bind( this ) ); | ||
+ | |||
+ | return controlDiv; | ||
+ | }.bind( this ) | ||
+ | } ); | ||
// Icons | // Icons | ||
Line 285: | Line 311: | ||
this._beacon.marker.setLatLng( this._beacon.point ); | this._beacon.marker.setLatLng( this._beacon.point ); | ||
this._beacon.circle.setLatLng( this._beacon.point ); | this._beacon.circle.setLatLng( this._beacon.point ); | ||
− | this._beacon.map.setView( this._beacon.point, 16, {} ); | + | if ( this._beacon.follow ) |
+ | this._beacon.map.setView( this._beacon.point, 16, {} ); | ||
} | } | ||
}; | }; |
Revision as of 09:38, 12 May 2016
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 }}
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.