【问题标题】:How to find the exact zoom position in Open street Map?如何在开放街道地图中找到确切的缩放位置?
【发布时间】:2018-08-30 07:06:37
【问题描述】:

我正在使用开放街道地图。在那,我想缩放一个特定的位置。我从 Frame 布局的 Touch 事件中获取相应的缩放点,其中排列了瓷砖。我的问题是如何将此像素值转换为纬度和经度值。我在下面提到了纬度和经度转换的链接。 https://msdn.microsoft.com/en-us/library/bb259689.aspx

【问题讨论】:

  • 您的问题是关于哪个库/框架/工具?
  • 我正在 xamarin android 中开发一个应用程序

标签: c# maps openstreetmap


【解决方案1】:

请参阅 OSM wiki 中的 slippy map tilenames

它解释了磁贴名称的工作原理。它还包含一个用于将瓷砖数字转换为纬度/经度(反之亦然)的公式,以及这些公式在各种编程语言中的实现,包括C#

【讨论】:

  • 我的要求,我正在获取像素值(屏幕坐标),并且此时 OSM 磁贴也被缩放。从此需要找到准确的缩放位置并将其转换为经纬度值。有了这个我需要加载地图的新缩放区域
  • 您需要知道平铺编号(X 和 Y)和缩放级别才能计算纬度和经度。然后将这些数字放入 wiki 中的公式中,以获得图块左上边缘的纬度和经度。
  • 我得到屏幕坐标像素值。如果我用这个公式替换值,错误的瓷砖正在渲染?
  • 如果您不知道图块编号和缩放级别,像素将一文不值。直到现在,您以前从未提到过 xamarin。这就是我要求您使用的框架的原因。我没有使用 xamarin 的经验。
  • 能否告诉我,如何使用 c# 实现这一点?
猜你喜欢
  • 1970-01-01
  • 2019-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-13
  • 2022-01-04
  • 1970-01-01
相关资源
最近更新 更多