js 求TMap GL版本折线折中点
以下是使用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 方法获取折线上的所有点,然后遍历这些点,计算出每条线段的中间点,并将这些中间点添加到一个数组中。最后,我们再在地图上标记出这些中间点。
需要注意的是,上面的示例代码仅适用于折线由直线段组成的情况。如果折线由曲线段组成,需要使用更复杂的算法来获取折线的中间点
原文地址: http://www.cveoy.top/t/topic/hv4V 著作权归作者所有。请勿转载和采集!