腾讯地图 multipolyline 折中点计算方法 - JavaScript 代码示例
可以使用以下代码计算多段折线的折中点:
function getMultipolylineMidpoints(multipolyline) {
var midpoints = [];
for (var i = 0; i < multipolyline.length; i++) {
var polyline = multipolyline[i];
var points = polyline.getPath();
var numPoints = points.length;
if (numPoints > 1) {
var midpointIndex = Math.floor(numPoints / 2);
var midpoint = points[midpointIndex];
midpoints.push(midpoint);
}
}
return midpoints;
}
// 示例用法
var multipolyline = [
new qq.maps.Polyline({
path: [
new qq.maps.LatLng(39.984702,116.318417),
new qq.maps.LatLng(39.981900,116.318417),
new qq.maps.LatLng(39.981900,116.316200)
]
}),
new qq.maps.Polyline({
path: [
new qq.maps.LatLng(39.981900,116.316200),
new qq.maps.LatLng(39.981900,116.314000),
new qq.maps.LatLng(39.984702,116.314000)
]
})
];
var midpoints = getMultipolylineMidpoints(multipolyline);
console.log(midpoints);
该函数接受一个 'multipolyline' 参数,该参数是一个由多个 'qq.maps.Polyline' 对象组成的数组。函数将返回一个由多个 'qq.maps.LatLng' 对象组成的数组,表示每个折中点的位置。
原文地址: https://www.cveoy.top/t/topic/oYXc 著作权归作者所有。请勿转载和采集!