【发布时间】:2014-03-06 20:28:30
【问题描述】:
我正在按以下方式在我的地图上绘制一条纯色折线,效果很好:
PolylineOptions polyLine = new PolylineOptions();
polyLine.width(5);
polyLine.color(Color.RED);
polyLine.geodesic(true);
for (int i = 0; i < speed.length; i++) {
polyLine.add(new LatLng(lat, lng));
}
map.addPolyline(polyLine);
现在我想在不同点之间绘制一条不同颜色的折线,具体取决于这两点之间的速度。
似乎没有一个简单的方法。
我指的是这个问题:draw polylines with different colors on v2 maps,我可以一个接一个地添加多个PolylineOptions,但我认为这不是一个有效的方法,因为我在一个简单的数据中有超过 2000 个点设置为绘图。
有更好的做法吗?
理想的实现方式是 Nike+ 应用如何在地图上绘制线条:
非常感谢任何帮助。
提前致谢!
【问题讨论】:
-
您找到解决方案了吗?在效率方面遇到同样的问题,并且不会因为总是实例化新的 polylineoptions 而得到“断断续续”的折线
-
不完全是。我们放弃了这个想法。只需重新查看我发布的上述示例,我认为他们正在使用 MapView 的 getPointOnScreen 之类的东西,然后在半透明视图之上使用 Path 或画布或其他东西绘制这样的形状 - 而不是在地图本身上
-
@M.Smith 地面和瓷砖叠加层非常强大。他们正确地跟随缩放和倾斜,所以它看起来像增强现实。它看起来非常整洁,我在我的应用程序中同时使用:用于渲染区域的地面叠加层(某种高度图)和用于上述线条绘制的自定义平铺叠加层。我为每个图块生成一个位图,然后返回
new Tile(w,h,bitmap.compress(PNG))。线条需要瓷砖,因为如果它们在地面覆盖层上并且用户放大,它们看起来真的很奇怪。瓷砖连续性不是问题,我只是在边缘过度绘制了一点,Canvas 为我剪辑了它。跨度> -
虽然这是一个老问题,但你可能想看看我在 GitHub 上的项目:github.com/antoniocarlon/richmaps
标签: android android-mapview android-maps-v2