Git Product home page Git Product logo

Comments (10)

HilaryN avatar HilaryN commented on June 24, 2024

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.

mvl22 avatar mvl22 commented on June 24, 2024

Is the API giving the correct data? I.e. is this an app rendering issue?

from android.

oliverlockwood avatar oliverlockwood commented on June 24, 2024

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.

HilaryN avatar HilaryN commented on June 24, 2024

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.

HilaryN avatar HilaryN commented on June 24, 2024

So on the website it shows as separate segments:

CycleStreets website

Currently on the app it shows as a melded segment:

Current Android

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:

Proposed android

from android.

HilaryN avatar HilaryN commented on June 24, 2024

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.

HilaryN avatar HilaryN commented on June 24, 2024

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):

image

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):

image

from android.

mvl22 avatar mvl22 commented on June 24, 2024

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.

oliverlockwood avatar oliverlockwood commented on June 24, 2024

@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:
Screenshot 2022-09-05 at 13 51 06

from android.

mvl22 avatar mvl22 commented on June 24, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.