openlayer4中获取地图坐标的方法
<!DOCTYPE html>
<html>
<head>
<title>WFS</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="ol.css" type="text/css">
<script src="ol-debug.js"></script>
<script src="jquery.min.js"></script>
</head>
<body>
<div id="map" style="width: 100%"></div>
<script type="text/javascript">
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
target: 'map',
view: new ol.View({
center: ol.proj.transform(
[104, 30], 'EPSG:4326', 'EPSG:3857'),
zoom: 10
})
});
// 监听singleclick事件
/*
map.on('click', function(event){
//alert('触发点击事件' + event.clientX); event.clienX 为undefined
var t = ol.proj.transform(map.getEventCoordinate(event), 'EPSG:3857', 'EPSG:4326')
alert(t);
})
*/
$("#map").click(function (e) {
// alert('X ; '+ e.clientX + 'Y: '+e.clientY);
var t = ol.proj.transform(map.getEventCoordinate(e), 'EPSG:3857', 'EPSG:4326');
alert(t);
})
</script>
</body>
</html>
注意:使用openlayer自带的注册事件函数ol.map.on(‘click’,function(e))
会使e.clientX为undefined,而源代码中使用了e.clientX,故返回NaN。
故自己注册事件。
转载自:https://blog.csdn.net/qq_31805885/article/details/78795835