谷歌地图API:B zier曲线多段线包裹
Google Maps API: Bézier curve polyline wrap
通过使用nicoabie提供的Bezier曲线多段线绘制功能,我能够绘制从地图上的一点到另一点的曲线。问题是,该函数没有考虑到这样一个事实,即当一个点超过最大坐标标记时,它不一定在地图的另一边,因为它是环绕的。
例如,绘制一条从西雅图到东京的曲线。一条规则的折线会穿过太平洋,但曲线会向东穿过整个地球。
geodesic: true
在这种情况下不起作用,因为线必须具有一致的曲率。
我的问题是:是否可以绘制一条一致的曲线来考虑地图包裹
使用google.maps.LatLng类的选项第三个"nowrap"参数强制所有相关点具有相同的符号(设置为true,默认为false)。
gmarkers[10].setPosition(new google.maps.LatLng(35.689488,139.69170)); // Tokyo
gmarkers[0].setPosition(new google.maps.LatLng(47.60621,(360-122.332071),true)); // Seattle
boundsCenter.setPosition(new google.maps.LatLng(36.096756,(360-178.986565),true)); // control point 1
gmarkers[6].setPosition(new google.maps.LatLng(48.511996,180)); // control point 2
var curvedLine = new GmapsCubicBezier(gmarkers[0].getPosition().lat(), gmarkers[0].getPosition().lng(), boundsCenter.getPosition().lat(), boundsCenter.getPosition().lng(), gmarkers[6].getPosition().lat(), gmarkers[6].getPosition().lng(), gmarkers[10].getPosition().lat(), gmarkers[10].getPosition().lng(), 0.01, map);
工作小提琴
相关文章:
- 如何在d3力布局中使直线而不是曲线
- D3.js:设置贝塞尔曲线的动画
- 如何通过单击点之间的样条曲线来选择样条曲线中的序列
- 数据库中的动态样条曲线高图
- 画布:制作贝塞尔曲线绘制动画
- 鼠标悬停在贝塞尔曲线上
- jqplot图位于曲线下方
- 在Canvas中检测鼠标与闭合Bezier曲线形状的碰撞
- 在谷歌地理图中绘制两点之间的曲线
- html5画布变换和缓存渐变、曲线和旋转
- 如何制作一个函数,使用node.js计算图形曲线下的面积
- 带有jQuery的正弦曲线
- 在新框架上绘制图像,同时仍然使用P5.js中的利萨茹曲线
- 播放时更改WebAudio WaveShaper节点的曲线
- 在给定曲线的最大高度的情况下,获取二次曲线的 Y 值
- KineticJS - 创建带有渐变描边的样条曲线
- 在滚动上绘制一条曲线虚线 SVG
- 正确计算双三次曲线上的点;zier曲面
- 谷歌地图API:B zier曲线多段线包裹
- 两条Bézier曲线(或两条曲线和一条直线)的交点:代码