我的问题类似于“谷歌地图中两个近点之间的曲线”,但我想将地图生成为静态图像服务器端(PHP 或 NodeJS),以便可以在离线环境中使用。
简而言之,我有两组纬度和经度,我想在它们上面放置标记并在它们之间绘制一条非测地线弧,然后将地图保存为图像。谷歌地图不是必需的。
这基本上是我想要实现的目标:
我的问题类似于“谷歌地图中两个近点之间的曲线”,但我想将地图生成为静态图像服务器端(PHP 或 NodeJS),以便可以在离线环境中使用。
简而言之,我有两组纬度和经度,我想在它们上面放置标记并在它们之间绘制一条非测地线弧,然后将地图保存为图像。谷歌地图不是必需的。
这基本上是我想要实现的目标:
这是我的NodeJS使用TurfJS、SVG.JS和静态谷歌地图:Runkit Link。只好换GMAPS_API_KEY
了
初步结果如下所示
并且仍然需要进行一些测地线校正。尽管如此,这应该会让你走上正确的……道路。
您可以在 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