之前用iserver发布的rest服务用下面代码可以测算地图距离,但是现在将地图服务调用的是国家天地图的wmts服务,请问怎么实现测距功能呢?
//绘完触发事件
function drawLineCompleted(drawGeometryArgs) {
//停止画面控制
drawLine.deactivate();
//获得图层几何对象
var geometry = drawGeometryArgs.feature.geometry,
measureParam = new SuperMap.REST.MeasureParameters(geometry), /* MeasureParameters:量算参数类。 客户端要量算的地物间的距离或某个区域的面积*/
myMeasuerService = new SuperMap.REST.MeasureService(url); //量算服务类,该类负责将量算参数传递到服务端,并获取服务端返回的量算结果
myMeasuerService.events.on({ "processCompleted": measureLineCompleted });
//对MeasureService类型进行判断和赋值,当判断出是LineString时设置MeasureMode.DISTANCE,否则是MeasureMode.AREA
myMeasuerService.measureMode = SuperMap.REST.MeasureMode.DISTANCE;
myMeasuerService.processAsync(measureParam); //processAsync负责将客户端的量算参数传递到服务端。
}
//测量结束调用事件
function measureLineCompleted(measureEventArgs) {
var distance = measureEventArgs.result.distance;
//var unit = measureEventArgs.result.unit; //返回meter
distance=distance.toFixed(3);
showDistanceComplete(distance);
//alert("量算结果:"+distance + "米");
}