对于我的项目,我想在每次点击地图时填写带有x和ycoördinates的文本框。我用这个标准代码在屏幕上显示了coördinates:
var mousePositionControl = new ol.control.MousePosition({
className: 'custom-mouse-position',
target: document.getElementById('location'),
coordinateFormat: ol.coordinate.createStringXY(5),
undefinedHTML: ' '
});
所以我想:如果我使用mousePositionControl作为x和y坐标的变量,我会在文本框中得到它。所以我试过这个:
map.on('click', function() {
document.getElementById("coördinates").value = mousePositionControl;
});
但是我在文本框中得到的结果是:[object Object]
有人可以帮我解决这个问题吗?
答案 0 :(得分:-1)
我只是自己弄清楚了。我要求完整的元素和条纹并替换它,所以我得到了我得到的。
代码:
map.on('click', function() {
var show = document.getElementById("location").innerHTML;
var clean = show.replace('<div class="custom-mouse-position">', "");
var clean_again = clean.replace('</div>', "");
var split = clean_again.split(',');
});
答案 1 :(得分:-1)
map.on('click', function(evt){
document.getElementById('coördinates').innerHTML = evt.coordinate.join(", ");
});