Comments (10)
In fact this is happening when 2 sections are combined, because the first of the 2 sections is less than 20m.
If one of the sections being combined is a walking section then the whole combined section will show as walking.
I guess I could add some logic to say that if the 2nd section is more than 50m then only show it as a walking section if the second section is walking.
Or I could leave it well alone ;-)
from android.
Is the API giving the correct data? I.e. is this an app rendering issue?
from android.
I'm pretty sure the API is not going to be at fault here.
For a reminder of context: The segment-combining is very useful, because it was extraordinarily irritating (and at times dangerous) to e.g turn right as instructed at a staggered T-crossroads, and be well past the junction by the time the voice instruction says something like "Continue 5 metres. Get ready to turn left". So that's why we have instructions like "Get ready to Turn right then turn left" instead.
When I wrote the segment-combining code, I simply hadn't thought of the possibility of one of the segments being dismounted and the other not. Probably because personally I tend to prefer routes that don't involve walking, as I'd rather just stay on the bike!
The easiest fix would probably be to introduce a check and, if the mounted/dismounted states of the two segments are not identical, then don't do a proposed segment-combining operation.
But I'd be interested in the thoughts of others, maybe someone has a better idea?
from android.
Yes, it's definitely not the API. It's happening within the app when segments are combined (melded), and I agree this is a neat feature, which is why I'm hesitant to meddle with it.
I guess if the first (less-than-20m) segment is walking and the second isn't, we don't need to do the segment-melding, because there is less chance they will miss the turn if they are walking the first bit.
If it's the other way round then we can meld them - it's not such an issue if the short segment mistakenly shows as walking.
I'm still mulling it over - I was thinking about keeping the segments separate and just putting the combined instruction into the first segment, but then it'll have the wrong street name. (Maybe I could fix that. too.)
I'll also need to look into the roundabout-melding and the bridge-melding as they do the same thing.
Linking to the previous issue here as there are some examples in there which should come in handy for testing:
#276
I also prefer routes which don't have too much walking and it was a bit off-putting seeing the long section (incorrectly) marked as walking.
from android.
So on the website it shows as separate segments:
Currently on the app it shows as a melded segment: If one segment is walk and one is cycle, I could leave the segments separate but put the combined instruction into the first segment with the second segment's street name and leave the second segment as it is so that they show correctly on the map:from android.
The roundabout melding shouldn't be an issue. The Bridge melding could be, but I can't find a real example of mixed walking/cycling so I'll have to fudge the test.
from android.
Left to right: Bridge on website; melded bridge on current version of Android app; split out bridge instructions if the 2 segments were to be a mix of walking / cycling (I'll leave it melded if they are both cycling - this is fudged just to illustrate what it would look like):
The first screenshot here shows the melded bridge and the other 2 show how it would look if the 2 segments were split out (again, fudged - they will remain melded if both segments are cycling or both walking):
from android.
Surely what should happen is that the visual map should never be melded, but the voice instructions may be.
So logically the melding should be moved up a level into the voice data logic and out of any up-front central processing, as melding is completely specific to voice. Am I right?
from android.
@mvl22 No, I strongly disagree with you here.
Melding is deliberately part of the rendering of the route in terms of directional arrows and visual instructions also.
For example, from @HilaryN's screenshots above:
from android.
For example, from @HilaryN's screenshots above:
Yes, I agree that the directions list should also do that. Sorry, I should have been clearer. I regard that as linked to the voice side.
All I'm saying is that the map itself should always show individual segments exactly as they are from the API.
from android.
Related Issues (20)
- "Could not contact CycleStreets.net: Chain validation failed" HOT 7
- Account deletion within app - by May 31st 2024 HOT 2
- Make possible to mute navigation sound
- Add dev guide for building locally HOT 1
- Saved routes text filter
- Crash on starting a route HOT 5
- Google Play target API level requirements by 31 Aug 2023
- F'Droid release HOT 1
- Feature request: avoid route HOT 2
- Voice instructions: Cancel reading if already at next HOT 4
- Development setup page on wiki is out-of-date HOT 1
- Add to Taginfo Projects
- Can't add photos to photomap any more HOT 3
- Notifications setting cannot be changed HOT 5
- Saved locations is not user-friendly
- Error Handling Issue During Photo Upload with Existing Account
- Incorrect Retrieval of Street Names in Itinerary HOT 1
- Registration Allows Invalid Email Addresses HOT 1
- Displaying Incorrect User Name After Successful Sign-in
- POI ID changed to string HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from android.