【问题标题】:The boundary of many points on Google Map谷歌地图上多点的边界
【发布时间】:2012-11-20 09:34:50
【问题描述】:

每个人。最近,我们在谷歌地图上遇到了一个关于边界的问题。

我们收到了很多积分,这些积分是“新 google.maps.LatLng(lat,lng)”的对象。然后,如何绘制或制作这个块的边界。或者如何找到边界上的点(LatLng,用于绘制多边形),有没有JS算法?

就像一个故事:我们收到了很多羊(积分)作为礼物,那么如何为它们建造边界清晰的羊圈呢?

非常感谢您的回复!!!

【问题讨论】:

  • 您的问题是如何在谷歌地图中绘制多边形,或者如何检测在给定一组点的情况下在哪里绘制多边形?如果是后者,多边形上有什么限制?你能画出的最小的圆?最小的长方形?最小的 n 边?
  • 谢谢你的问题,我想要的很简单:给你很多不同纬度的点,你能在这个块的最外轮廓上找到这些点吗?所以我可以用这些点来画一个多边形,也许这个多边形不是圆形,而是不规则的形状!
  • 我在这个块的最外面的轮廓上标记了这些点:A;这个块的其他点是B。所以我用A来画一个多边形,多边形包含B!

标签: javascript google-maps


【解决方案1】:

您正在寻找的是“凸包”算法。这是一个示例(您需要查看源代码):

http://www.geocodezip.com/v3_map-markers_ConvexHull.asp

这也是之前的一个问题:

How to find/create Convex hull of GPS points in Javascript

【讨论】:

  • 事实上我有一些算法来计算这个块的轮廓上的目标点。并且成功了,非常感谢。我非常感谢您的帮助。
【解决方案2】:

var bound = new google.maps.LatLngBounds(); 然后用 bound.extend(new google.maps.LatLng(lat,lng));

【讨论】:

  • 非常感谢您的回答。我阅读了 API,它说:“LatLngBounds 实例代表地理坐标中的矩形”。也许我可以使用它的中心点和宽度来绘制一个覆盖所有这些点的模糊圆圈。但是我怎样才能找到这个块的最外点呢?可用于绘制多边形。
  • 好吧,如果您提供 LatLngBounds 您的点,它将返回一个矩形。你喂羊它会给你矩形:) 顺便说一句,矩形由两个点表示。
  • 是的。 :) 使用 LatLngBounds 画一个包含所有目标点的圆是合适的!我可以在这个圆圈中添加一些颜色字符。非常感谢!
  • 谢谢你的回答,但我想再问一遍:给你很多不同纬度的点,你能在这个块的最外轮廓上找到这些点吗?所以我可以用这些点来画一个多边形,也许这个多边形不是圆形,而是不规则的形状!
猜你喜欢
  • 1970-01-01
  • 2017-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-22
  • 2013-10-10
  • 2019-04-19
  • 1970-01-01
相关资源
最近更新 更多