首页 / 浏览问题 / 云GIS / 问题详情
iClient for Openlayers 10i在ie8中地图点击事件未响应
250EXP 2020年07月02日
点击画面内的其他控件都能正常生效

鼠标滚轮缩放也可以正常生效

但鼠标点击相关的功能无法生效

1个回答

您好,您那边的鼠标点击相关功能是说的是给地图注册点击事件没有触发吗?还是用了interaction.draw? map.on('click',e=>{console.log(e)})没有输出吗?请您说下具体是用的什么方法
3,352EXP 2020年07月02日
是创建了一个地图,添加了可以用来观察的图层后,地图默认的点击事件没有触发。

顺便interaction.draw,map.on('click',e)的相关功能也无法触发。
您那边用谷歌的可以吗?是模块开发吗?控制台有报错输出吗?
客户指定的浏览器是以ie8为基础开发的浏览器···

谷歌浏览器和ie9以上点击功能都可以正常生效,直接用ie8打开页面会报错
客户的浏览器没有控制台,无法确认点击事件无效时是否有报错···
是否是模块开发?是否使用babel-loader将ES6语法转换为ES5?

如果您那边没有任何消息提示的话我这边无法定位问题
测试用的代码如下:

<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=Edge, chrome=1">
    <link rel="stylesheet" href="https://cdn.bootcss.com/openlayers/4.6.5/ol.css">
    <script type="text/javascript" src="https://cdn.bootcss.com/openlayers/4.6.5/ol.js"></script>
    <script type="text/javascript" src="./dist/openlayers/iclient-openlayers-es6.min.js"></script>
    <link rel="stylesheet" href="./dist/openlayers/iclient-openlayers.min.css">
</head>
<body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%; position: absolute;top: 0;">
    <div id="map" style="width: 100%;height:100%"></div>
    <script type="text/javascript">
        var map = new ol.Map({
            target: 'map',
            controls: ol.control.defaults(),
            view: new ol.View({
                center: [0, 0],
                zoom: 2,
                projection: 'EPSG:4326'
            })
        });
        var osmLayer = new ol.layer.Tile({
            source: new ol.source.OSM()
        });
        map.addLayer(osmLayer);
    </script>
</body>

没有使用babel-loader
您发的代码里面没设置说明交互的啊
就iclient for openlayers里自带的默认鼠标点击控件也没有生效。包括双击放大和拖动地图

尝试过上面说的interaction.draw,map.on('click',e),也都没有效果
...