以下是使用TMap GL版本绘制折线并获取折线的中间点的示例代码:

// 创建地图对象
var map = new TMap.Map("map", {
    center: new TMap.LatLng(39.907961, 116.391248), // 设置地图中心点
    zoom: 14 // 设置地图缩放级别
});

// 创建折线对象
var polyline = new TMap.Polyline([
    new TMap.LatLng(39.903680, 116.391409),
    new TMap.LatLng(39.907961, 116.391248),
    new TMap.LatLng(39.907017, 116.398003),
    new TMap.LatLng(39.903329, 116.397721)
], {
    color: "#f00", // 设置折线颜色
    weight: 3, // 设置折线宽度
    opacity: 1 // 设置折线透明度
});
map.addOverLay(polyline); // 将折线添加到地图中

// 获取折线的中间点
var points = polyline.getPath();
var midPoints = [];
for (var i = 0; i < points.length - 1; i++) {
    var midPoint = new TMap.LatLng(
        (points[i].lat + points[i + 1].lat) / 2,
        (points[i].lng + points[i + 1].lng) / 2
    );
    midPoints.push(midPoint);
}

// 在地图上标记折线的中间点
for (var i = 0; i < midPoints.length; i++) {
    var marker = new TMap.Marker(midPoints[i], {
        icon: new TMap.Icon("https://mapapi.qq.com/web/lbs/javascriptGL/demo/img/marker.png", {
            size: new TMap.Size(24, 36)
        })
    });
    map.addOverLay(marker);
}

在上面的示例代码中,我们首先创建了一个地图对象,并在地图上绘制了一条折线。接下来,我们通过折线的 getPath 方法获取折线上的所有点,然后遍历这些点,计算出每条线段的中间点,并将这些中间点添加到一个数组中。最后,我们再在地图上标记出这些中间点。

需要注意的是,上面的示例代码仅适用于折线由直线段组成的情况。如果折线由曲线段组成,需要使用更复杂的算法来获取折线的中间点

js 求TMap GL版本折线折中点

原文地址: http://www.cveoy.top/t/topic/hv4V 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录