js 求腾讯地图multipolyline 折中点
可以使用以下代码计算多段折线的折中点:
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 对象组成的数组,表示每个折中点的位置
原文地址: http://www.cveoy.top/t/topic/hv5p 著作权归作者所有。请勿转载和采集!