#google-maps #google-maps-api-3
#google-карты #google-maps-api-3
Вопрос:
У меня возникли проблемы со следующим кодом, поскольку мои точки никогда не находят точку внутри полигона с помощью 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());
}
Комментарии:
1. Я не уверен, правильно ли инициализирован ваш полигон. Вы не используете
google.maps.PolygonOptions
.2.
var pv = new google.maps.Polygon({path:fairview});
3. Хорошо, я понимаю, что вы сейчас говорите, в настоящее время я проверяю ваши отзывы здесь, но пока безуспешно. htinteractive.com/crime_map_fairview2.html
4. Что вы пробовали? Все еще есть неправильная строка
var pv = new google.maps.Polygon(fairview);
5. Теперь я вернулся, когда stackoverflow снова запущен. @Dr.Molle если вы опубликуете свой комментарий в качестве ответа, я отмечу его. Сейчас он работает с этим ответом. Спасибо за вашу помощь.
Ответ №1:
Как указал доктор Молл, я неправильно создавал свой полигон.
var pv = new google.maps.Polygon({path:fairview});