Closed 2kai2kai2 closed 11 months ago
I think this should be ready to merge, unless somebody else wants to review
@2kai2kai2 Thanks for all the work you put into this!
I am having an issue with the app since these changes, It basically doesn't work at all unfortunately. It announces the heading, then says nearest road is over 8000 miles away, but it is a road that is quite near, less than a mile.
@RDMurray I take it you had to revert this merge to get recreation activities working (#84). Can you provide a sample offending activity file? Maybe @2kai2kai2 could add a test case with some real output from the authoring tool.
Note that I only reverted it in my fork. This is unrelated to the fix for the authoring tool. Since this pr Soundscape doesn't work at all for me.. I haven't had a chance to look into why. If you want to try it out, build 15 on testflight includes this pr and build 16 doesn't. Use menu->settings->trouble shooting->clear map data for testing.
Oh, sorry, I was confusing this PR with #65 that replaced the GPX dependencies. I was wary of accepting that before we had authoring tool output to try, but since you didn't need to revert it I think we're clear there.
I've reverted this in main. It still seems to be broken after fixing the swapped coordinates issue. Current location says the correct road, but around me and ahead of me only report markers. Street preview also fails to start.
Note for testing: it is necessary to clear map data, the problem seems to be with loading newly downloaded data.
GeoJSON files are what we receive from our map data service, and provide all POI/road/map data.
JSONSerialization
with Swift'sJSONDecoder
for parsing of JSON structuresGeoJsonGeometry
,GeoJsonFeature
, andGeoJsonFeatureCollection
GeoJsonGeometry
class to simplify and reduce code duplicationNote these changes are to be followed by the rest in draft #72
Also note that (and I currently do not plan to do address this), these changes do not fully bring our implementation in line with the GeoJSON spec, as we still do various business logic and custom parsing of properties as a part of parsing GeoJSON objects. If we ever want a more general implementation for GeoJSON, this would have to be changed.