Sì, c'è un modo per disattivare la possibilità di ruotare la mappa.
È necessario personalizzare le interazioni dell'oggetto ol.Map. O si utilizza la funzione ol.interaction.defaults per creare un ol.Collection con interazioni oppure si crea un array con solo le interazioni desiderate. Quindi puoi passarlo al costruttore di Ol.Map.
Utilizzando la funzione ol.interaction.defaults
(http://openlayers.org/en/master/apidoc/ol.interaction.html#defaults):
var interactions = ol.interaction.defaults({altShiftDragRotate:false, pinchRotate:false});
var map = new ol.Map {
interactions: interactions
};
La prima riga crea tutte le interazioni di default, ma la possibilità di ruotare tramite tastiera + mouse e usando le dita su un dispositivo mobile.
Forse si desidera rimuovere anche l'ol.control.Rotate. (Questo è l'ago in alto a destra che viene utilizzato per ripristinare la rotazione e appare solo se la mappa viene ruotata). Funziona allo stesso modo.
Creazione di controlli senza bussola via ol.control.defaults
(http://openlayers.org/en/master/apidoc/ol.control.html#defaults)
var controls = ol.control.defaults({rotate: false});
codice 'completa':
var controls = ol.control.defaults({rotate: false});
var interactions = ol.interaction.defaults({altShiftDragRotate:false, pinchRotate:false});
var map = new ol.Map {
controls: controls,
interactions: interactions
};
fonte
2014-09-05 09:02:36
Spiegazione molto utile e completa –
puoi dirmi esattamente cosa fa openlayer3 con google map, per favore aiuto –
Posso confermare che funziona anche in ol4 – jOshT