7

我的问题类似于“谷歌地图中两个近点之间的曲线”,但我想将地图生成为静态图像服务器端(PHP 或 NodeJS),以便可以在离线环境中使用。

简而言之,我有两组纬度和经度,我想在它们上面放置标记并在它们之间绘制一条非测地线弧,然后将地图保存为图像。谷歌地图不是必需的。

这基本上是我想要实现的目标:

两个标记之间有曲线的静态地图图像

4

3 回答 3

0
于 2020-10-19T11:16:43.177 回答
0

这是我的NodeJS使用TurfJSSVG.JS和静态谷歌地图:Runkit Link。只好换GMAPS_API_KEY

初步结果如下所示

在此处输入图像描述

并且仍然需要进行一些测地线校正。尽管如此,这应该会让你走上正确的……道路。

于 2020-10-20T18:28:55.980 回答
0

您可以在 ImageMagick 中绘制 2 点贝塞尔曲线,如下所示改变圆弧半径。

p1=172,197
p2=483,231

convert map.png -fill none -stroke red -strokewidth 2 -draw "path 'M $p1   A 1,1  0  0,1 $p2'" map_arc1.png

在此处输入图像描述

convert map.png -fill none -stroke red -strokewidth 2 -draw "path 'M $p1   A 3,2  0  0,1 $p2'" map_arc2.png

在此处输入图像描述

convert map.png -fill none -stroke red -strokewidth 2 -draw "path 'M $p1   A 4,2  0  0,1 $p2'" map_arc3.png

在此处输入图像描述

于 2020-10-19T18:25:02.517 回答