首页 / 浏览问题 / 云GIS / 问题详情
以图片作为地图,如何查询出相对坐标点(简单webgis)。
1EXP 2020年01月20日

尝试了用SuperMap.Layer.Image添加相关点击事件,但是添加失败(异步加载地图和鼠标拖动查询坐标点)。

可能因为地图加载时,不是采用的 SuperMap.Layer.TiledDynamicRESTLayer相关的方法。想问一下有没有相关应用实例。或者替换方法。

SuperMap iServer 10i  操作系统:win7 x64

1个回答

您好,可以参考这个范例https://iclient.supermap.io/examples/classic/editor.html#others_projection

通过这个获取鼠标位置的控件获取当前鼠标位置,然后监听浏览器的鼠标点击事件,点击后获取坐标。以官网的image图层加载为例可以修改成如下代码

    var map, layer,control;
    map = new SuperMap.Map("map", {
        controls: [
            new SuperMap.Control.ScaleLine(),
            new SuperMap.Control.Zoom(),
            new SuperMap.Control.LayerSwitcher(),
            new SuperMap.Control.Navigation()]
    });
    var options = {numZoomLevels: 12, useCanvas: false};
    var bounds = new SuperMap.Bounds(-180, -90, 180, 90);
    layer = new SuperMap.Layer.Image(
        'World_Day',
        'images/Day.jpg',
        bounds,
        options
    );
    map.addLayer(layer);
    map.zoomToMaxExtent();
    control = new SuperMap.Control.MousePosition();

    map.events.on({"click": getMousePositionPx});
    
    function getMousePositionPx(evt) {
        //获取鼠标坐标位置
        var lonLat = map.getLonLatFromPixel(evt.xy);
        console.log(lonLat);
        if (!lonLat) {
            return;
        }
    }

5,668EXP 2020年02月03日
...