Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Path limit #76

Open
riki-dexter opened this issue Apr 18, 2018 · 9 comments
Open

Path limit #76

riki-dexter opened this issue Apr 18, 2018 · 9 comments

Comments

@riki-dexter
Copy link

riki-dexter commented Apr 18, 2018

Hi, is there a limit to coordinates array length to build a path overlay?
I need to draw about 3000 CLLocationCoordinate2D on the map, but i'm getting
MBStaticErrorDomain" - code: 18446744073709551615
when getting image from Snapshot object.
Until 1500 CLLocationCoordinate2D works well, I'm getting right the map.

Thank you.

@frederoni
Copy link
Contributor

I'm not aware of any limitations on the snapshot. Would you mind sharing a code snippet?

@riki-dexter
Copy link
Author

riki-dexter commented Apr 19, 2018

I wrote this code:

               var pathArr = [CLLocationCoordinate2D]()
               for workoutLocation in self.workoutLocations {
                    pathArr.append(workoutLocation.coordinate)
                }
                                
                var path = Path(coordinates: pathArr)
                path.strokeWidth = 2
                path.strokeColor = .black

                let options = SnapshotOptions(
                    styleURL: URL(string: "mapbox://styles/r****")!,
                    size: CGSize(width: 200, height: 200))
                options.overlays = [path]
                let snapshot = Snapshot(
                    options: options,
                    accessToken: "****")

                snapshot.image { (image, error) in
                    let img: UIImage = image!
                    print("")
                }

@frederoni
Copy link
Contributor

frederoni commented Apr 19, 2018

I don't see any issues when using 3000 coordinates but I start getting "MBStaticErrorDomain Code=-1 server errors" after 4000. Might be due to the custom style. @1ec5 do you know if we have any hard limitations on the number of coordinates in a path?

If you are using the Maps SDK for iOS, it might be of interest to use the newly introduced MGLMapSnaphotter which renders the snapshot client side.

@riki-dexter
Copy link
Author

How can I set path overlay to MGLMapSnapshotOptions?

Thank you

@frederoni
Copy link
Contributor

You would have to add an MGLPolylineFeature to the map view itself. Similar to https://www.mapbox.com/ios-sdk/examples/line-geojson/

@riki-dexter
Copy link
Author

riki-dexter commented Apr 19, 2018

Sorry but I don't have a map view. I only have an array of CLLocationCoordinate2D and I would get an image of the map fragment with the overlay path.

@frederoni
Copy link
Contributor

Sorry but I don't have a map view.

Ok, then the static api is the way to go. Trying to figure out if there is a limit.

@1ec5
Copy link
Contributor

1ec5 commented Apr 20, 2018

do you know if we have any hard limitations on the number of coordinates in a path?

Not on the number of coordinates specifically, but according to the Static API documentation, there is a restriction on the number of features in a GeoJSON overlay, as well as a restriction on the length of the string encoding of all the overlays combined:

Overlays cannot consist of more than 100 features. The maximum overlay length is 2083 characters.

A Path’s string-encoded length depends on the Polyline encoding of all the coordinates, plus any styling options.

@trunghvbk
Copy link

Hi, a long time passed, how is this issue going?
Do we have any number of limit coordinates to pass to the Path?

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

No branches or pull requests

4 participants