地图:在矩形内是lat / lng

时间:2012-06-09 02:53:19

标签: google-maps google-maps-api-3

假设由西南lat / lgn(a,b)和东北lat / lng(c,d)坐标定义的矩形:

           c,d
|-----------|
|           |
|           |
|           |
|-----------|
a,b

如何确定另一对坐标x,y是否在该矩形内?这是对的:

a < x < c AND b < y < d  <-- if true, it means x,y are in the rectangle???

我正在使用Google Maps API并从中获取这些lat / lng值。我只需要知道x,y是否确实在矩形内。

2 个答案:

答案 0 :(得分:1)

是。编码的一种方法是

if (x < a) return false;
if (x > c) return false;
if (y < b) return false;
if (y > d) return false;
return true;

请注意,我的方式是将一个点视为“在矩形中”,如果它正好在边框上。你可能会或可能不会认为这是真的。

答案 1 :(得分:1)

首先从西南和东北坐标创建LatLngBounds,然后调用传入LatLng的contains方法进行检查。

https://developers.google.com/maps/documentation/javascript/reference#LatLngBounds