我的目标是检测标记是否位于形状奇怪的多边形对象内(想想 25 个不同的点)。我注意到 LatLngBounds 属性仅包含两组 LatLng,即使在使用 .extend 函数之后也是如此,例如:
((34.347971491244955,-122.40966796875),(34.829586636768205,-120.9649658203125))
这是正常行为吗?
下面的代码是我正在构建的程序的一小段,但包含我如何使用扩展函数的相关信息。如果我不能使用 .extend() 和 .contains() 的组合,有谁知道如何检测标记是否位于奇怪形状的多边形内?
var coordinates = (polygon.getPath().getArray()); //get
var bounds = new google.maps.LatLngBounds();
function extendBounds(bounds, coordinates) {
for (b in coordinates) {
bounds.extend(coordinates[b]);
};
console.log(bounds.toString());
};
多边形的边界是矩形。如果要检测标记是否在多边形中,请使用 containsLocation 函数google.maps.geometry.poly 命名空间,向其传递多边形和标记的位置
containsLocation(点:LatLng, 多边形:多边形) |布尔 |计算给定点是否位于指定多边形内。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)