您好,请问您具体使用的是iClient的什么产品呢。
如果是leaflet的话,我这里测试是正常的。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title data-i18n="resources.title_measureDistance"></title>
<script type="text/javascript" src="../js/include-web.js"></script>
</head>
<body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
<div id="map" style="margin:0 auto;width: 100%;height: 100%"></div>
<script type="text/javascript" src="../../dist/leaflet/include-leaflet.js"></script>
<script type="text/javascript">
var host = window.isLocal ? window.server : "https://iserver.supermap.io";
var map, resultLayer, url = host + "/iserver/services/map-world/rest/maps/World";
map = L.map('map', {
preferCanvas: true,
crs: L.CRS.EPSG4326,
center: [34, 108],
maxZoom: 18,
zoom: 3
});
new L.supermap.TiledMapLayer(url).addTo(map);
resultLayer = L.featureGroup().addTo(map);
measureDistance();
function measureDistance() {
var polyLine = L.polyline([[25, 102], [40, 116],[60, 116]], {color: "red"});
var marker1 = L.marker([25, 102]), marker2 = L.marker([40, 116]), marker3 = L.marker([60, 116]);
resultLayer.addLayer(polyLine);
resultLayer.addLayer(marker1);
resultLayer.addLayer(marker2);
resultLayer.addLayer(marker3);
var distanceMeasureParam = new L.supermap.MeasureParameters(polyLine);
new L.supermap
.MeasureService(url)
.measureDistance(distanceMeasureParam, function (serviceResult) {
var content = resources.text_distance+":" + serviceResult.result.distance + resources.msg_m;
marker1.bindPopup(content).openPopup(marker1.getLatLng());
});
}
</script>
</body>
</html>
希望可以帮助到您。