Google maps 为什么Google Maps ContainesLocation从未在我的多边形中找到一个点?
我对以下代码有问题,因为我的点从未使用google.maps.geometry.poly.containsLocation在多边形中找到点。您可以看到完整的代码,并且这里确实存在多边形中的点,但是在控制台中,您将看到,根据containsLocation函数,没有发现任何点位于多边形中 我觉得可能我没有将一个值正确地传递给containsLocation函数,但到目前为止,我在文档中发现这似乎是正确的Google maps 为什么Google Maps ContainesLocation从未在我的多边形中找到一个点?,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我对以下代码有问题,因为我的点从未使用google.maps.geometry.poly.containsLocation在多边形中找到点。您可以看到完整的代码,并且这里确实存在多边形中的点,但是在控制台中,您将看到,根据containsLocation函数,没有发现任何点位于多边形中 我觉得可能我没有将一个值正确地传递给containsLocation函数,但到目前为止,我在文档中发现这似乎是正确的 var myLatlng = new google.maps.LatLng(lat,lon);
var myLatlng = new google.maps.LatLng(lat,lon);
fairview = [
new google.maps.LatLng(39.161536, -86.535107),
new google.maps.LatLng(39.17885, -86.534825),
new google.maps.LatLng(39.179068, -86.547164),
new google.maps.LatLng(39.180989, -86.551803),
new google.maps.LatLng(39.181546, -86.556001),
new google.maps.LatLng(39.170956, -86.569335),
new google.maps.LatLng(39.158487, -86.570365),
new google.maps.LatLng(39.161482, -86.566674),
new google.maps.LatLng(39.157156, -86.559807),
new google.maps.LatLng(39.160084, -86.553961),
new google.maps.LatLng(39.160317, -86.550700),
new google.maps.LatLng(39.160733, -86.548464),
new google.maps.LatLng(39.161482, -86.546172),
new google.maps.LatLng(39.161536, -86.535107)
];
var pv = new google.maps.Polygon(fairview);
if (google.maps.geometry.poly.containsLocation(myLatlng, pv)) {
console.log("Location Found in Polygon!!!!! " + myLatlng.lat() + " " + myLatlng.lng());
} else {
console.log(":( " + myLatlng.lat() + " " + myLatlng.lng());
}
正如Molle博士指出的,我的多边形实例化不正确
var pv = new google.maps.Polygon({path:fairview});
我不确定多边形是否正确初始化。您没有使用
google.maps.PolygonOptions
var pv=new google.maps.Polygon({path:fairview})代码>好的,我知道你现在在说什么了,我正在这里尝试你的反馈,但到目前为止运气不好。你试了什么?仍然存在错误的行var pv=new google.maps.Polygon(fairview)代码>我回来了,stackoverflow又出现了@Molle博士如果你把你的评论作为回答发回来,我会记下来的。它现在正在用这个答案工作。谢谢你的帮助。