我遇到以下代码的问题,因为我的点永远不会使用google.maps.geometry.poly.containsLocation在多边形内找到一个点。您可以看到完整的代码,并且多边形中确实存在点http://htinteractive.com/crime_map_fairview.html但是在控制台中,您将看到根据containsLocation函数没有发现任何点位于多边形中。
我觉得我可能没有正确地将一个值传递给containsLocation函数,但到目前为止我在文档中找到的这似乎是正确的。
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());
}
答案 0 :(得分:1)
正如Molle博士指出的那样,我错误地实例化了我的多边形。
var pv = new google.maps.Polygon({path:fairview});