Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Strange lines after zoom-in LineLayer in Android #16640

Open
kingfisherphuoc opened this issue Apr 19, 2022 · 3 comments
Open

Strange lines after zoom-in LineLayer in Android #16640

kingfisherphuoc opened this issue Apr 19, 2022 · 3 comments

Comments

@kingfisherphuoc
Copy link

Platform: Android
Mapbox SDK version: 9.7.1
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.7.1'

Steps to trigger behavior

  1. Load map view async + map style

  2. Add a list of latlngs to map as Layer and Source as below:

        val features = mutableListOf<Feature>()
        var coordinateList = ArrayList<Point>()
        var index = 0
        for (item in locations) {
            coordinateList.add(
                Point.fromLngLat(
                    item.longitude,
                    item.latitude
                )
            )
            
            val properties = JsonObject()
            properties.addProperty("index", index)
            val feature =
                Feature.fromGeometry(
                    Point.fromLngLat(item.longitude, item.latitude),
                    properties
                )
            features.add(feature)
            index += 1
        }
        mapStyle!!.addSource(
            GeoJsonSource(
                "route-line-source", FeatureCollection.fromFeatures(
                    arrayOf(
                        Feature.fromGeometry(
                            MultiPoint.fromLngLats(coordinateList)
                        )
                    )
                )
            )
        )
    
        mapStyle!!.addLayer(
            LineLayer("route-line-layer", "route-line-source").withProperties(
                PropertyFactory.lineCap(Property.LINE_CAP_ROUND),
                PropertyFactory.lineJoin(Property.LINE_JOIN_ROUND),
                PropertyFactory.lineWidth(3f),
                PropertyFactory.lineColor(Color.RED)
            )
        )
    
        val fromFeatures = FeatureCollection.fromFeatures(features)
        mapStyle!!.addSource(GeoJsonSource("index-source", fromFeatures))
        val symbolLayer = SymbolLayer("index-layer", "index-source")
        symbolLayer.setProperties(
            PropertyFactory.textField(Expression.toString(Expression.get("index"))),
            PropertyFactory.textSize(MapFragment.CLUSTER_RADIUS / 2f),
            PropertyFactory.textColor(Color.RED),
            PropertyFactory.textAllowOverlap(true)
        )
        mapStyle!!.addLayer(symbolLayer)
    

Expected behavior

The line should always follow and be beneath the index numbers.

Actual behavior

It worked well if the camera zoom out < 13. However, when I tried to zoom in the map, I saw a lot of strange lines crossing near the numbers as in the image below. If I zoomed out, the strange lines disappeared.

It's very easy to reproduce. You can test it with the attached locations.json: locations.json.zip

Screenshot_20220420_001941

@kingfisherphuoc kingfisherphuoc changed the title Strange lines after zoom-in LineLayer Strange lines after zoom-in LineLayer in Android Apr 21, 2022
@kingfisherphuoc
Copy link
Author

@tobrun do you have any thought on this?

@kingfisherphuoc
Copy link
Author

kingfisherphuoc commented May 11, 2022

any update for this issue?

@BlowJohan
Copy link

BlowJohan commented Jul 28, 2022

Same problem, but with polygons. This lines is everywhere! Starts with 12-13 zoom level.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants