我现在正在开发适用于 Android 设备的应用程序。主要功能是在地图上绘制折线,以显示城市中每条街道的交通情况。不幸的是,当我在 3K 折线周围绘制时——数量会根据屏幕尺寸和缩放级别而减少——我的地图变得异常缓慢……我没有提到绘制所有线的时间。
也许您知道在地图上标记街道或画线的更有效方法?
我也在考虑切换到 OSM,但我从未使用过它,也不知道它的效率如何。
我在三星 Galaxy Note 10.1 上调试应用程序并且应用程序使用 Map API v2
我绘制折线的代码:
Polyline line;
List<Float> coordinatesStart;
List<Float> coordinatesEnd;
LatLng start;
LatLng end;
List<List<Float>> coordinates;
int polylinesNumber = 0;
for(Features ftr : features){
coordinates = ftr.geometry.coordinates;
for(int i = 0; i<coordinates.size()-1; i++){
coordinatesStart = coordinates.get(i);
coordinatesEnd = coordinates.get(i+1);
start = new LatLng(coordinatesStart.get(1), coordinatesStart.get(0));
end = new LatLng(coordinatesEnd.get(1), coordinatesEnd.get(0));
line = map.addPolyline(new PolylineOptions()
.add(start, end)
.width(3)
.color(0x7F0000FF)); //semi-transparent blue
polylinesNumber++;
}
}
我将不胜感激任何帮助!