Non ho mai lavorato con plunker, quindi non posso integrato la mia soluzione nel tuo esempio, ma ho creato una JSFiddle per ciò che è basato su un semplice esempio di rete dal sito web visjs.org.
Purtroppo non è disponibile il metodo setScale(scale)
al momento, ma è possibile estendere lo network
fino a quando qualcuno non lo implementa.
var network;
var zoomstep = 0.3;
function zoomin() {
network.setScale(network.getScale() - zoomstep);
}
function zoomout() {
network.setScale(network.getScale() + zoomstep);
}
vis.Network.prototype.setScale = function (scale) {
var options = {
nodes: []
};
var range = this.view._getRange(options.nodes);
var center = this.view._findCenter(range);
var animationOptions = {
position: center,
scale: scale,
animation: options.animation
};
this.view.moveTo(animationOptions);
};
Il codice vis.Network.setScale
è stata presa dal codice Network.js e la fonte View.js, sulla base di ciò che ha fatto getScale()
. Ho dovuto ripetere alcune cose che i metodi View.fit
, View._getRange
e View._findCenter
hanno funzionato bene finora.
È possibile ingrandire e ridurre con la rotellina di scorrimento - perché avete bisogno pulsanti separati per fare questo? – efeder
@efeder: tutti gli utenti potrebbero non avere un mouse con scroll, inoltre alcuni potrebbero utilizzare laptop in cui l'utente potrebbe preferire alcuni controlli su questo grafico. Date un'occhiata a questo [esempio visjs] (http://tiddlymap.org/) – Ricky
Ho fornito una soluzione simile a [http://tiddlymap.org/](http://tiddlymap.org/) esempio – abi1964