【问题标题】:Drawing line between 2+ markers/wievpoints (not dynamically) in a MapBox on Android在 Android 上的 MapBox 中的 2+ 个标记/wievpoints(非动态)之间绘制线
【发布时间】:2018-08-17 08:05:42
【问题描述】:

开发者精神 :)

从昨天开始,我就在 google 和 github 中寻找上述问题的答案。我在 mapbox 文档页面上也找不到正确的解决方案。

【问题讨论】:

  • 线条可以使用 LineLayer(低级但灵活的 api,具有许多配置)或 PolyLine(高级但配置有限)来绘制

标签: java android navigation mapbox mapbox-android


【解决方案1】:

好的,我找到了解决方案!除了PolyLine 之外,还必须在地图上放置Markers。然而,如果我们想使用所有代表航路点的标记,那将是拥挤的,所以只有起点和目的地标记就足够了。此外,标记的 lats 和 lngs 必须从 Array 中获取(不知道为什么,但是如果我们使用 ArrayList,则该行不可见)。

positions = PolylineUtils.decode(attraction.getWaypoints(),5);
latLng = new LatLng[positions.size()];
for (int i = 0; i < positions.size(); i++) {
    latLng[i] = new LatLng(
            positions.get(i).latitude(),
            positions.get(i).longitude());
}


mapboxMap.addMarker(new MarkerOptions().setPosition(new LatLng(latLng[0].getLatitude(),latLng[0].getLongitude())));
mapboxMap.addMarker(new MarkerOptions().setPosition(new LatLng(latLng[latLng.length-1].getLatitude(),latLng[latLng.length-1].getLongitude())));


// Draw Points on MapView
mapboxMap.addPolyline(new PolylineOptions()
        .add(latLng)
        .color(Color.parseColor("#38afea"))
        .width(5));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-03
    • 2015-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-15
    • 2018-10-31
    • 2014-05-05
    相关资源
    最近更新 更多