繁体   English   中英

amcharts - 如何在 mappolygon 中设置纬度/经度?

[英]amcharts - how to set lat/lon in mappolygon?

基本上,我只想在用户定义的纬度/经度处绘制一个半径为 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);

});

MapPolygon 没有可以“移动”它的纬度/经度。 它的多边形必须包含您要显示的区域的坐标。 因此,当您将经度/纬度传递给 getCircle 方法时,它会返回该点周围的 multiPolygon。

我修改了你的笔来展示这个概念: https : //codepen.io/team/amcharts/pen/ydrLZw

polygon.multiPolygon = am4maps.getCircle(coords.longitude, coords.latitude, 5);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM