-
Notifications
You must be signed in to change notification settings - Fork 1.3k
client-side data #507
Comments
Hey incanus, Mapbox-gl-cocoa looks and acts great. Any idea of release dates for these features? Specifically the run-time added features with arbitrary sprites (that's about all we need). Also, will these features follow the format of the RM objects (i.e. MGLAnnotation instead of RMAnnotation)? |
Not sure on a timeline yet @abhay-agarwal, but stay tuned. For API, this will be more like MapKit ( |
Suddenly discovered "source type not implemented" for geojson. Really need it. Subscribed. |
The big GeoJSON rewrite is done — see mapbox/mapbox-gl-js#464 comments. We now need to port geojson-vt to C++11 and from there it'll be easy to add robust and fast GeoJSON support. |
I'm going to start taking a crack at this today. |
Making some headway on this. Believe it or not I'm using Swift to do it, since basically all of the We'll need to build out formal structures for all of the parts used (features, points, feature types, tiles, stats, |
Feeling good here. Intermediary lib: https://github.com/incanus/geojsonvt.swift Currently working on getting this to work with larger data, including the 100MB zips. Probably some lingering out of range errors and the like. /cc @mourner |
@incanus Can't wait! |
Ok, we're looking feature-complete and I think basically bug-free at this point. My basic GeoJSON test cases work great, but zips are still taking a looooong time. Profiling reveals most of the time is spent in JSON deserialization (~20%) and dynamic object type casting (~70%, lol). So, Swift has served me well here, but moving to C++ now. |
I opened an issue yesterday (#726) that's similar to this one, and the use case I described is similar to the ones listed at the top of this one, but I just want to add to this issue to spell out it out for the record here.
In plain english, here's how I describe it:
|
That's completely ridiculous. I guess that's the price you pay for using a new but immature language :) Looking forward to the C++ results then! |
Yeah, I'm very curious about it but not priority-curious about it. Might check it out over break and get to the bottom of it. I'd like to know if it's misuse, bug, limitation, etc. = |
Ok, fully converted over to C++, albeit not yet working. But all in place, typed, modified for |
@springmeyer Any ideas here on the following link problems? Only happens when I add actual use of GeoJSONVT vt = GeoJSONVT(featureJSON_); Per 8e8dd9b. The link error doesn't happen for me when building Link error: https://gist.github.com/incanus/e6eae06d78cadbc7b1ea Any ideas? @ljbade recommended I maybe move the |
BTW this is because all of our other uses of |
@incanus the problem is that the diff --git a/src/mbgl/util/geojsonvt.cpp b/src/mbgl/util/geojsonvt.cpp
index 64e7987..5a8a0c4 100644
--- a/src/mbgl/util/geojsonvt.cpp
+++ b/src/mbgl/util/geojsonvt.cpp
@@ -362,7 +362,7 @@ std::vector<ProjectedFeature> Convert::convert(JSDocument &data, float tolerance
} else {
JSValue feature;
feature.SetObject();
- feature.AddMember("geometry", data, data.GetAllocator());
+ //feature.AddMember("geometry", data, data.GetAllocator());
convertFeature(features, feature, tolerance);
}
So, it seem like passing |
Oh awesome, thanks. Man, cryptic C++ errors. That's definitely a big help. |
Cool I did not know this. Hopefully I will remember next time I see something like this. |
Hah, good to know, thanks @springmeyer. |
It does!
So, profiling is back on the list ;-) |
Since I've got to step away from this for a bit, if anyone is curious, this is what I've been using to test. |
This is pretty awesome. |
@incanus wow, it works! Awesome. :) I hope we'll be able to get the timing down so that it's much smaller than JS timings for big data. |
What is the current status of this? I need to start working with MapboxGL (its the only mapping library that will allow me to do what I need), but user created pins and lines are essential |
@akbsteam This is basically the next item on our list of features to work on so keep an eye on the commits. |
@ljbade that's really good news; is there a vague-hand-wavy-ball-park timeline for this? |
@akbsteam I'd say on the order of 1-1.5 months. |
@incanus thanks; is there anything we can do in the interim? just to get us going on it ... |
that sounds good; at this point we just want to add pins that we can tap on and lines between them, so anything that will let us do that in some fashion would be amazing |
When I was digging into this a couple of months ago (I was asking @flippmoke questions literally the day before you guys stole him away from us), I eventually got it doing what I wanted it to do (see my comment/request above). Did it as a proof of concept to show the boss... Wish I had more time to devote to this and completely flesh it out. I'm anxious to see how your implementation compares! |
Lat/lon conversion stuff is in |
Runtime Marker Images --> #1645 |
This master ticket is mostly implemented and the remaining details are tracked elsewhere and in active development. Closing. |
Master ticket for building out client-side data (e.g. non-vector tiles). This is the last big feature we need for viable initial iOS deployment in apps.
Use cases:
Progressive feature set:
MKAnnotationView
on iOS).Let's treat clustering (#320) as a separate milestone.
Related/obsoletes:
The text was updated successfully, but these errors were encountered: