【发布时间】:2017-09-25 11:43:27
【问题描述】:
Uber 应用有一条弯曲的折线,甚至包括阴影。阴影可能只是黑色,透明折线连接两点。这很容易。但是第二条带曲线的折线,如何实现呢?这是贝塞尔曲线,还是像 setGeodesic(true) 这样的内置函数?
我浏览了谷歌地图示例,并看到了有关圆形折线的部分。这可以适应创建半圆吗?来自演示的代码 sn-p。
PolylineOptions options = new PolylineOptions();
int radius = 5; //What is that?
int numPoints = 100;
double phase = 2 * Math.PI / numPoints;
for (int i = 0; i <= numPoints; i++) {
options.add(new LatLng(SYDNEY.latitude + radius * Math.sin(i * phase),
SYDNEY.longitude + radius * Math.cos(i * phase)));
}
int color = Color.RED;
mMap.addPolyline(options
.color(color)
.width(2));
【问题讨论】:
-
类似问题stackoverflow.com/questions/43305664/…。你可以在那里找到答案。
-
该算法中的曲线不是那么平滑。我创建了一个更流畅的更新版本。
-
@portfoliobuilder 你能提供解决方案吗?
-
iOS 解决方案链接:stackoverflow.com/a/53569754/6593774
-
你可以看到我的回答here,可能对你有帮助。
标签: android google-maps polyline