首页 / 浏览问题 / 云GIS / 问题详情
如何用iserver进行3857的测量距离和面积
9EXP 2019年07月21日
var interactionLine, vectorLayerMea, feature;
        var urlMea = "http://support.supermap.com.cn:8090/iserver/services/map-world/rest/maps/World/"; //服务访问的地址

        var sourceMea = new ol.source.Vector({ wrapX: false });
        vectorLayerMea = new ol.layer.Vector({
            source: sourceMea
        });
        map.addLayer(vectorLayerMea);
        interactionLine = new ol.interaction.Draw({
            source: sourceMea,
            type: "LineString"
        });
        interactionLine.on('drawstart', function (evt) {
            feature = evt.feature;
        });
        interactionLine.on('drawend', function () {
            var distanceMeasureParam = new SuperMap.MeasureParameters(feature.getGeometry());
            new ol.supermap.MeasureService(urlMea, { measureMode: "" }).measureDistance(distanceMeasureParam, function (serviceResult) {
                alert(serviceResult.result.distance + "m");
            });
        });

        map.addInteraction(interactionLine);

这个url再4326坐标下可用  3857  不可以

2 个回答

都是可以得呢。您仔细检查下,或者看看有没有报错之类得呢
1,255EXP 2019年07月21日
你好,你使用的该服务对应的是4326的地图服务。如果你想用3857的坐标系,你可以调用一个坐标系为3857的坐标系的地图服务就行量测。
3,352EXP 2019年07月22日
里面好像有选项可以选3857 的  但是我不太清楚url该怎么写  请教   (很少用iserver这个东西)
一般都是

本机ip+iserver/services/+data|map+-数据源名称+/rest/+data|maps

之后使用地图还是数据服务再进入,格式一般都是给定的,ajax或者xmlhttprequest都可以获取到
...