将标记与折旧的标记放在折线上方

时间:2019-06-17 09:27:33

标签: android mapbox mapbox-gl mapbox-android

如何将所有标记置于折线上方。我正在使用不推荐使用的“标记”和“ LineManager”绘制标记和折线。 我认为使用Layers可能,但是现在我很难转换,“ Marker”有没有?

这就是我添加标记和折线的方式

LatLng latLng = new LatLng(mLatLngList.get(i).getLatituede(), mLatLngList.get(i).getLongitude());
MarkerOptions markerOptions = new MarkerOptions().position(latLng).icon(icon).setTitle(cabList.get(i).getCabId());
Marker marker = mMapboxMap.addMarker(markerOptions);
mMapboxMap.setStyle(new Style.Builder().fromUrl(getString(R.string.mapbox_style_url_light)), style -> {
                mLineManager = new LineManager(mMapView, mapboxMap, style);
LineOptions lineOptions = new LineOptions()
                                    .withLatLngs(points)
                                    .withLineJoin(Property.LINE_JOIN_ROUND)
                                    .withLineColor(ColorUtils.colorToRgbaString(getResources().getColor(R.color.colorPrimary)))
                                    .withLineWidth(4.0f);
                            mMapBoxLines = mLineManager.create(lineOptions);
});

我什至尝试手动删除线层并在符号层下添加,但这没有用。

SymbolLayer symbolLayer = (SymbolLayer) mMapboxMap.getStyle().getLayer("mapbox-android-symbol-layer");
                LineLayer lineLayer = (LineLayer) mMapboxMap.getStyle().getLayer("mapbox-android-line-layer");


mMapboxMap.getStyle().removeLayer(lineLayer);
mMapboxMap.getStyle().addLayerBelow(lineLayer, symbolLayer.getSourceId());
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:7.0.0'
 implementation 'com.mapbox.mapboxsdk:mapbox-sdk-services:4.3.0'
 implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-annotation-v7:0.4.0'

0 个答案:

没有答案