У меня есть карта с 5 маркерами и 25 прямоугольниками. Затем я перетаскиваю маркер в прямоугольник. Я хочу узнать название прямоугольника.
Прямо сейчас у меня есть слушатель прямоугольников, просто чтобы убедиться, что они названы правильно, и это отлично работает
google.maps.event.addListener(partialRectangle, 'click', function() {
console.log(this.title);
});
И у меня также есть список маркеров, чтобы получить некоторую информацию, а затем перетаскивать их, и это тоже отлично работает
google.maps.event.addListener(marker, 'dragend', function() {
console.log(marker.getPosition());
console.log(this.title);
});
Есть идеи, как получить информацию о том, в какой прямоугольник я поместил маркеры?
Этот код решил мои проблемы
google.maps.event.addListener(marker, 'dragend', function() {
for(var i = 0; i < 25; i++){ // looping through rectangles
if(partialRectangles[i].bounds.contains(marker.getPosition()))
console.log(partialRectangles[i].title);
}
});
1 ответ
Внутри слушателя каждого маркера dragend
прокрутите весь прямоугольник LatLngBounds
и используйте функцию contains(latLng:LatLng)
, чтобы определить, находится ли позиция нового маркера внутри этого прямоугольника LatLngBounds
.
Псевдокод:
google.maps.event.addListener(marker, 'dragend', function() {
for (var i = 0; i < rectangles.length; i++) {
if(rectangles[i].getBounds().contains(marker.getPosition())) {
console.log(rectangles[i].title);
}
}
});
Похожие вопросы
Новые вопросы
google-maps
Карты Google - это приложение и технология службы картографирования веб-страниц и мобильных устройств, предоставляемые компанией Google, которые предлагают спутниковые изображения, карты улиц и перспективы просмотра улиц. Также поддерживаются карты, встроенные на сторонние веб-сайты через API Карт Google, и локатор для городских предприятий и других организаций во многих странах мира.