0
我有一個按鈕來激活地理定位。一旦我點擊它,我想激活geolocalisation我也想縮放位置,但只有當我點擊按鈕。我的問題是第一次點擊,該工具返回一個未定義的位置,我不得不再次點擊以獲取該位置。我想詢問社區是否有解決問題的方法。Openlayers 3地理位置,居中位置onclick
見的jsfiddle我已創建:http://jsfiddle.net/alex_caron88/m6xbv0dt/8/
下面的代碼的重要組成部分:
// activate geolocate device and get the zoom on the position
var geolocateBtn = document.getElementById('geolocate');
geolocateBtn.addEventListener('click', function() {
geolocation.setTracking(true); // Start position tracking
map.on('postcompose', render);
// while (geolocation.getPosition() == undefined){
// console.log("while = " + geolocation.getPosition())
// }
map.getView().setCenter(geolocation.getPosition())
}, false);
這種方法的問題是,如果用戶決定去另外一個地方在地圖上,隨着位置的改變,它會返回到地理位置的位置。這是我想要避免的,我想要做的就是通過點擊地理位置按鈕 – FatAl
來簡單地讓它恢復其位置,您可以添加geolocateme.setTracking(false);在setCenter之後...並且當用戶再次單擊按鈕時將該值重新設置爲true。或者使用複選框並將值true false用於跟蹤。像 geolocateme.setTracking(this.checked); – MichaelJS