farmOS/modules/quick/movement/js/farmOS.map.behaviors.quick_...

35 lines
1.1 KiB
JavaScript

(function () {
farmOS.map.behaviors.quick_movement = {
attach: function (instance) {
// Create a layer for the current asset location.
var opts = {
title: 'Current Location',
color: 'blue',
};
instance.currentLocationLayer = instance.addLayer('vector', opts);
// If an asset geometry was pre-populated, add it to the layer.
if (instance.farmMapSettings.behaviors.quick_movement.asset_geometry) {
this.updateAssetGeometry(instance, instance.farmMapSettings.behaviors.quick_movement.asset_geometry)
}
},
// When updating asset geometry, update the current location layer.
updateAssetGeometry: function (instance, wkt) {
// Clear features from the layer.
instance.currentLocationLayer.getSource().clear();
// If WKT is not empty, add features to the layer and zoom.
if (wkt) {
instance.currentLocationLayer.getSource().addFeatures(instance.readFeatures('wkt', wkt));
instance.zoomToLayer(instance.currentLocationLayer);
}
},
// Make sure this runs after farmOS.map.behaviors.wkt.
weight: 101,
};
}());