【问题标题】:Flutter: Is there a way to prevent Marker scaling with zooming in and out? And reposition them to absolute center of image?Flutter:有没有办法通过放大和缩小来防止 Marker 缩放?并将它们重新定位到图像的绝对中心?
【发布时间】:2020-12-10 23:07:38
【问题描述】:

我正在使用标记将图像放置在 Google 地图中。问题#1:我的标记图像的最底部始终是我放置图像的纬度和经度。顶部和中心不是。例如:

这些标记是根据我的位置生成的,它们显示在我的实际位置上方。有没有办法让我的纬度和经度条目成为我的标记图像的绝对中心?

#2:当我在地图上放大和缩小时,如何防止标记保持相同的大小?

【问题讨论】:

  • 你应该提供更多细节(一些代码,你用来显示地图的库,......)
  • 这是 Google Map Flutter。基本标记下降。如果您在点击或按下按钮时放置标记,它不会使用标记中心作为放置点,而是使用标记的最底部点。

标签: flutter dart


【解决方案1】:

Marker 小部件的默认锚点是Offset(0.5, 1.0),因此当您添加标记时,它的底部中心被放置在该位置上。你需要把它改成这个Offset(0.5, 0.5):

Marker(
    anchor: const Offset(0.5, 0.5)
);

对于您的第二个问题,我认为除非您每次缩放更改并根据需要更改大小时都重建标记,否则没有办法。

【讨论】:

  • 哇...我不敢相信它这么容易。它完美地工作!谢谢!!!我可以稍微挑一下你的大脑吗?我没有绘制部分圆圈,而是使用画布在地图上绘制。这有点头疼,我不能完全正确。你认为追求某种涉及折线的算法会更好吗?在哪里提供初始纬度并导致距离后跟两个点导致圆锥?这就是我所追求的:earthsurvey.us/rings/rings.html(磁盘扇区功能)
  • 我不是在地图上绘图的专家,但我认为使用折线无法实现,所以我会使用 canvas @tsy
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-18
  • 2021-10-13
  • 1970-01-01
  • 2021-01-24
  • 2022-12-31
  • 2018-09-22
  • 2015-09-04
相关资源
最近更新 更多