Я пытаюсь создать элемент управления измерениями в Openlayers, используя функцию OpenLayers.Control.Measure, которая вернет область функций в реальном времени при перемещении мыши. Я много читаю об этом, и многие говорят, что это достигается с помощью свойства immediate
элемента управления OpenLayers.Control.Measure, но я не могу заставить его работать. При использовании свойства immediate
я получаю только область функции, когда создаю новые вершины ... не просто перемещая мышь. Я бы очень признателен за вашу помощь, поскольку я просто не могу найти то, что я делаю неправильно. Вот код, который я использую:OpenLayers 2 - измерение «немедленного»
<!DOCTYPE html>
<html>
<head>
<script src="Scripts/jQuery-213/jquery-2.1.3.min.js"></script>
<script src="http://maps.google.com/maps/api/js?sensor=false&v=3.2"> </script>
<script src="Scripts/OpenLayers-2.10/OpenLayers.js"></script>
<style type="text/css">
body {
height: 100%;
width: 100%;
z-index: 1;
}
#map {
height: 100%;
min-height: 300px;
width: 100%;
position: absolute;
top: 0;
left: 0;
margin: 0;
z-index: 2;
}
#area{
position: absolute;
top: 5px;
right: 5px;
width: 100px;
height: 50px;
color: blue;
background-color: white;
z-index: 3;
}
</style>
<script type="text/javascript">
var map;
var google_layer;
$(document).ready(function() {
map = new OpenLayers.Map("map");
map.addControl(new OpenLayers.Control.MousePosition());
google_layer = new OpenLayers.Layer.Google("Google Hybrid", {
type: google.maps.MapTypeId.HYBRID
});
map.addLayer(google_layer);
map.setCenter(new OpenLayers.LonLat(2004093, 8234302), 12);
var vectorLayer = new OpenLayers.Layer.Vector('Vector Layer');
map.addLayer(vectorLayer);
var control_measurepoly = new OpenLayers.Control.Measure(
OpenLayers.Handler.Polygon, {
persist: true,
immediate: true,
eventListeners: {
"measurepartial": displayArea
}
});
function displayArea(event){
var geometry = event.geometry;
var measure = event.measure;
$("#area").html(measure);
};
map.addControls([control_measurepoly]);
control_measurepoly.activate();
});
</script>
</head>
<body>
<div>
<div id="map"></div>
<div id='area'>0</div>
</div>
</form>
</body>
</html>
Имейте большой уикенд! Эмиль