【发布时间】:2016-04-22 16:47:49
【问题描述】:
我正在寻找将折线(从即 2 个坐标创建)转换为包含至少 4 个坐标的多边形的方法。简单的用例是航空地图上的航路,它从 A 点开始,在 B 点结束,宽度为 x 海里。虚拟代码是:
var someLine = new google.maps.Polyline({
path: [
{lat: 51.15, lng: 15},
{lat: 51.15, lng: 18}
],
geodesic: true,
strokeColor: '#000000',
strokeOpacity: 1.0,
strokeWeight: 5
});
someLine.setMap(map);
// how to convert above someLine into?:
var airway = new google.maps.Polygon({
paths: [
{lat: 51, lng: 15},
{lat: 51, lng: 18},
{lat: 51.3, lng: 18},
{lat: 51.3, lng: 15}
],
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 3,
fillColor: '#FF0000',
fillOpacity: 0.35,
geodesic: true
});
airway.setMap(map);
看起来像:
黑色线是普通折线,红色多边形是想要的效果。
是否有任何 API/插件可用于此类任务,或者我需要手动计算多边形的角?
【问题讨论】:
-
你必须手动计算..谷歌地图没有“缓冲”功能
-
但是您出于某种原因需要一个区域,或者只是需要一条宽线?
-
如图所示:我有一条黑线,给定宽度为 x 海里,我需要将其转换为覆盖折线路径 + 此宽度的红色多边形
-
在官方文档中,航线被描述为从 A 到 B 的线,宽度为 x 英里,我需要在地图上显示它
-
那你需要一个真实的区域..我明白..
标签: google-maps google-maps-api-3