openlayer4中获取地图坐标的方法


<html>
<head>
    <title>WFStitle>
    <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。
故自己注册事件。

你可能感兴趣的:(webgis)