Я хочу найти центр многоугольника на карте Google, я пробовал несколько решений, однако ни одно из них не работало правильно для многоугольника прямоугольника. Вот пример кода:
var path = new Array(new google.maps.LatLng(1, 1), new google.maps.LatLng(1, 10), new google.maps.LatLng(10, 10), new google.maps.LatLng(1, 1));
var mapOptions = {
zoom: 4,
center: new google.maps.LatLng(40, 9),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
var polygon = new google.maps.Polygon({
path: path,
map: map
});
var bounds = new google.maps.LatLngBounds();
for (var i=0; i<polygon.getPath().length; i++) {
var point = new google.maps.LatLng(path[i].lat(), path[i].lng());
bounds.extend(point);
}
map.fitBounds(bounds);
const marker = new google.maps.Marker({
position: {
lat: bounds.getCenter().lat(),
lng: bounds.getCenter().lng()
},
map: this.map,
title: "Hello World!"
});
marker.setMap(map);
Я использовал google.maps.LatLngBounds();
длянайти центр треугольника и отметить центр на карте, однако центр результата на самом деле не является истинным центром треугольника, jsfiddle пример этого кода .
Я использовал другое решение , которое обсуждаетсяздесь для нахождения центра многоугольника, но это тоже не сработает, так есть ли другое решение для нахождения точного центра многоугольников независимо от типа многоугольника?