SKPolyline 选项不适用于 Android
SKPolyline options not working on Android
我正在向我的地图添加 SKPolyline
并尝试设置线条的宽度。 documentation 不完整,只能设置线条的颜色和标识符。
这是一个方法:
private void addPolylineToMap(SKPolyline polyline) {
polyline.setIdentifier(0);
polyline.setLineSize(9);
polyline.setOutlineSize(4);
polyline.setOutlineColor(new float[] {0, 0, 0, 1});
polyline.setOutlineDottedPixelsSolid(6);
polyline.setOutlineDottedPixelsSkip(0);
mapView.addPolyline(polyline);
}
结果是一条多段线,其颜色和节点是我在方法之外指定的,但其他没有改变。
我正在使用最新的 Android Skobbler SDK (2.5.1),有人知道如何让它工作吗?
该选项确实存在一些问题。我认为最大的限制是折线的 "width" 被限制为 10 - 这包括线和它的轮廓(宽度问题将在未来的版本中处理)。由于 SDK 只会显示 10,因此 "cut" 轮廓不在图片中。
使用 "thinner" 设置确实显示轮廓:
SKPolyline polyline = new SKPolyline();
// set the nodes on the polyline
nodes = new ArrayList<SKCoordinate>();
nodes.add(new SKCoordinate(-122.4342, 37.7898));
nodes.add(new SKCoordinate(-122.4141, 37.7898));
nodes.add(new SKCoordinate(-122.4342, 37.7753));
polyline.setNodes(nodes);
// set polyline color
polyline.setColor(new float[]{0f, 0f, 1f, 1f});
// set properties for the outline
polyline.setLineSize(3);
polyline.setOutlineSize(6);
polyline.setOutlineColor(new float[]{1f, 0f, 0f, 1f});
polyline.setOutlineDottedPixelsSolid(3);
polyline.setOutlineDottedPixelsSkip(0);
polyline.setIdentifier(12);
mapView.addPolyline(polyline);
我正在向我的地图添加 SKPolyline
并尝试设置线条的宽度。 documentation 不完整,只能设置线条的颜色和标识符。
这是一个方法:
private void addPolylineToMap(SKPolyline polyline) {
polyline.setIdentifier(0);
polyline.setLineSize(9);
polyline.setOutlineSize(4);
polyline.setOutlineColor(new float[] {0, 0, 0, 1});
polyline.setOutlineDottedPixelsSolid(6);
polyline.setOutlineDottedPixelsSkip(0);
mapView.addPolyline(polyline);
}
结果是一条多段线,其颜色和节点是我在方法之外指定的,但其他没有改变。
我正在使用最新的 Android Skobbler SDK (2.5.1),有人知道如何让它工作吗?
该选项确实存在一些问题。我认为最大的限制是折线的 "width" 被限制为 10 - 这包括线和它的轮廓(宽度问题将在未来的版本中处理)。由于 SDK 只会显示 10,因此 "cut" 轮廓不在图片中。
使用 "thinner" 设置确实显示轮廓:
SKPolyline polyline = new SKPolyline();
// set the nodes on the polyline
nodes = new ArrayList<SKCoordinate>();
nodes.add(new SKCoordinate(-122.4342, 37.7898));
nodes.add(new SKCoordinate(-122.4141, 37.7898));
nodes.add(new SKCoordinate(-122.4342, 37.7753));
polyline.setNodes(nodes);
// set polyline color
polyline.setColor(new float[]{0f, 0f, 1f, 1f});
// set properties for the outline
polyline.setLineSize(3);
polyline.setOutlineSize(6);
polyline.setOutlineColor(new float[]{1f, 0f, 0f, 1f});
polyline.setOutlineDottedPixelsSolid(3);
polyline.setOutlineDottedPixelsSkip(0);
polyline.setIdentifier(12);
mapView.addPolyline(polyline);