确定位置是否在Google地图中的某个区域内

时间:2016-01-18 04:11:41

标签: .net google-maps google-maps-api-3 ionic-framework

Google Map

在上面显示的G​​oogle地图中,有两个标记为绿色箭头。它们是由虚线的蓝色圆圈表示的2个不同区域的中心。橙色箭头指向的标记位于上述区域之一。

这会带来一个问题。

假设数据库中有一个很长的区域中心位置列表,并且所有区域都具有相同的固定半径。 如何实施计算,以便系统可以告诉我Google地图上的任意位置是否位于至少一个区域内?:使用for遍历区域列表 - 循环或while - 源代码中的循环不是一个选项,因为性能是我的应用程序中的第一优先。

是否存在提供此类功能的现有Google Map API或库?

如果重要的话,我将使用Ionic作为客户端,使用.NET C#作为服务器。

1 个答案:

答案 0 :(得分:3)

您可以使用Google Maps Geometry Library

如果区域是圆形,您可以计算距离中心的距离,例如参见SO: How to detect if a point is in a Circle?

如果区域是多边形,请参阅此示例:https://developers.google.com/maps/documentation/javascript/examples/poly-containsLocation