我有一个有趣的问题。我编写了读取JSON文件的程序。在JSON文件中是来自地图的坐标。例如:“point”:{“x”:13.072789,“y”:52.388527}。接下来我在Pane(JavaFx)中有一张地图。Pane有背景 - 图像(柏林地图):
在图像中我指出了坐标点。
所以我需要在我的图像上绘制点(地图)。
例如: PointOne:来自JSON:{“x”:13.072789,“y”:52.388527}
On Image: X:132.0 Y:553.0
PointTwo: 来自JSON:{“x”:13.57957,“y”:52.462065}
On Image: X:585.0 Y:384.0
图像面板具有坐标X:0 - 1019 ÿ:0-700
所以我不明白该怎么做。我的意思是如何找到相对论。我尝试使用差异方式但失败了。
我希望你的帮助
发布于 2019-02-21 08:41:15
我认为解决您问题的最佳方法是使用map java fx组件将坐标显示为地图。
我在一些个人项目中使用了https://rterp.github.io/GMapsFX/这个API。有了它,您将能够将谷歌地图面板显示为Java FX组件并以简单的方式使用它。
希望这可以帮助吧~
发布于 2019-02-21 10:25:58
您的JSON坐标是以度为单位的经度/纬度值。为了验证这只是打入52.388527,13.072789进入谷歌地图。
出于映射目的,必须将这些坐标投影到笛卡尔x / y坐标中。这是通过所谓的地图投影完成的。在互联网上,Web或Pseudo-Mercator投影很常见,但我们无法知道这是否已用于您的地图图像而没有其他背景信息。您可以在维基百科中查找墨卡托的公式。获得x / y值后,您可以通过简单的仿射变换将它们转换为像素。
https://stackoverflow.com/questions/-100003120
复制相似问题