По сути, я просто хочу построить круг с заданным пользователем широтой / долготой с радиусом X км.
Так что я понимаю, просматривая документацию, я не могу изменить широту / долготу мапполигонов, которые уже загружены через геоданные, но я не совсем уверен, как создать новый многоугольник карты с указанным широтом / Если я могу даже сделать это!
Мой код настроен таким образом, чтобы каждый раз, когда пользователь щелкает где-либо, где маркер наносится на карту или перераспределяется соответственно, местоположение маркера - это то место, где я хотел бы построить центр круга. Я понял, что с помощью функции getCircle мне нужно сделать весь km2deg для третьей переменной, но сейчас я больше озабочен расположением. Любая помощь будет отличной!
https://codepen.io/kbreezy/pen/wLRrPq
ниже мой метод кода onclick.
chart.seriesContainer.events.on("hit", function(ev) {
var lp = $("#chartdiv").data("point");
var coords = chart.svgPointToGeo(ev.svgPoint);
if (lp) {
lp.latitude = coords.latitude;
lp.longitude = coords.longitude;
} else {
var marker = imageSeries.mapImages.create();
marker.latitude = coords.latitude;
marker.longitude = coords.longitude;
}
$("#chartdiv").data("point", marker);
var circleSeries = chart.series.push(new am4maps.MapPolygonSeries())
var circleTemplate = circleSeries.mapPolygons.template;
circleTemplate.fill = am4core.color("#bf7569");
circleTemplate.strokeOpacity = 1;
circleTemplate.fillOpacity = 0.75;
var polygon = circleSeries.mapPolygons.create();
var mapPolygon = polygonSeries.getPolygonById("DE");
mapPolygon.setPropertyValue('latitude', coords.latitude);
mapPolygon.setPropertyValue('longitude', coords.longitude);
polygon.latitude = coords.latitude;
polygon.longitude = coords.longitude;
polygon.multiPolygon = am4maps.getCircle(mapPolygon.visualLongitude, mapPolygon.visualLatitude, 5);
//polygon.multiPolygon = am4maps.getCircle(coords.latitude, coords.longitude, 5);
});