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);