Javascript 谷歌地图,矩形边界内的椭圆

Javascript 谷歌地图,矩形边界内的椭圆,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我用great在地图上画了四个给定点的椭圆,问题是椭圆打破了我设想的“矩形/正方形”的边界 [编辑-更新图像] 查看此图了解如何突破边界的示例: 粉色点是我想要的边框(忽略绿色点) 如何将椭圆保持在这些边界内(这里的目标是它与从中心开始的蓝色/绿色和橙色线的外部范围相匹配。) [编辑] 一些标记的位置,但这些标记将根据用户输入而变化 _s.OVAL_MARKERS = [ // Top new google.maps.LatLng(51.583487043925224, -0.

我用great在地图上画了四个给定点的椭圆,问题是椭圆打破了我设想的“矩形/正方形”的边界

[编辑-更新图像]

查看此图了解如何突破边界的示例:

粉色点是我想要的边框(忽略绿色点)

如何将椭圆保持在这些边界内(这里的目标是它与从中心开始的蓝色/绿色和橙色线的外部范围相匹配。)

[编辑]

一些标记的位置,但这些标记将根据用户输入而变化

_s.OVAL_MARKERS = [
    // Top
    new google.maps.LatLng(51.583487043925224, -0.16044229844476376),
    // Right
    new google.maps.LatLng(51.58339184515312, -0.16013348842307096),
    // Bottom
    new google.maps.LatLng(51.58317916077958, -0.16026707625337622),
    // Left
    new google.maps.LatLng(51.583331361647325, -0.16064041535150864)
];
我用来创建椭圆的代码(为了变量的清晰性而修改了此帖子)


您的短轴计算完全错误。现在,你正在做一个椭圆,它将通过所有四个点。您需要做的不是这样做,而是计算边之间的距离。换言之:

var minorAxis = _gs.computeDistanceBetween(_m[1], _m[3]);
var majorAxis = _gs.computeDistanceBetween(_m[1], _m[2]);
(假设1是连接到2和3的顶点)

这将给你更小的轴长度,这是你正在寻找的。下一步是定义它的方向。我从来没有在谷歌地图上画过椭圆,所以我不能帮你


顺便说一下,对于一些有用的椭圆信息,包括一系列将日食绑定到各种形状的公式。

可能的重复不是重复,他问的是“如何制作椭圆”。我问的是如何使椭圆仅与边界矩形一样大。但解决方案是相同的。否。事实并非如此。chaps问题的解决方案是使用我在帖子中首先提到的库。我的问题不是添加椭圆,而是修改椭圆以绑定到我的矩形。提供四个点。以及您用来创建椭圆的代码。
var minorAxis = _gs.computeDistanceBetween(_m[1], _m[3]);
var majorAxis = _gs.computeDistanceBetween(_m[1], _m[2]);