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

Snap to road? #45

Closed
j-mendez opened this issue May 22, 2018 · 9 comments
Closed

Snap to road? #45

j-mendez opened this issue May 22, 2018 · 9 comments

Comments

@j-mendez
Copy link

Add option for snap to road for better polyline support. I can help with this if needed.

@bramus
Copy link
Owner

bramus commented May 24, 2018

This component uses routing capabilities provided by Google. They already pre-snap the data onto roads. Could you elaborate a bit more what exactly you're suggesting?

@bramus
Copy link
Owner

bramus commented Jun 1, 2018

Closing due to inactivity / insufficient information.

Feel free to add some more info and I'll gladly reopen.

@bramus bramus closed this as completed Jun 1, 2018
@3210jr
Copy link

3210jr commented Jun 8, 2018

Hey @bramus ! I have the same question. It seems the route does not snap to the road. It looks great when zoomed out but when zoomed in further, it looks really "choppy". See the screenshots below:
screen shot 2018-06-08 at 8 15 03 am

screen shot 2018-06-08 at 8 15 38 am

@bramus
Copy link
Owner

bramus commented Jun 15, 2018

The components responsible for rendering the route – both from react-native-maps-directions and react-native-maps – just render the data that Google returns. These components don't snap the polyline on the road, it's Google that pre-snaps the returned route onto the road (because that's how a routing engine works).

This explains why there are differences between the roads and the route on iOS when using Apple Maps on iOS: Apple Maps has some minor differences when compared to Google Maps. The route snaps onto Google's data, not Apple's data.

But that however doesn't explain the behavior as showcased above: it's a Google Maps map, with a Google Maps route.

So what might be going on here? There's a few guesses to why that might be:

  1. The Google Directions API uses a different dataset than Google Maps.
  2. The Google Directions API isn't that precise when it needs to calculate a long route.

The first option seems unplausible, but the second guess seems really plausible as the route pictured above spans a really huge area: Google doesn't add that much detail to the route as it spans an entire country.

This can be tested:

  • Fetch a lengthy route between A to B
  • Zoom into a section where the route diverges from the road
  • Now fetch a route around that area

In the example above that would be a route around the Zinga area. My bet is that when you route there, the returned route will indeed snap the road. This because it is a short route, which can contain a lot of detail.

@tuononh
Copy link
Contributor

tuononh commented Aug 1, 2018

@bramus Look like you are using overview polyline. You should use the legs

@avinashclassy
Copy link

Add option for snap to road for better polyline support. I can help with this if needed.

i need your help,i am creating live tracking app using react native ,its done but polyline not travel throw road,please help me on it,how to use roads api key in react native

@GabeConsalter
Copy link

Hi @tuononh, how can I use the legs?

@bramus
Copy link
Owner

bramus commented Oct 2, 2019

FYI: With version 1.7.3 you can pass a precision into react-native-maps-directions.

  • Setting it to "low" will draw the overview_polyline (which is an approximation of the route).
  • Setting it to "high" will draw a detailed polyline that should snap on the roads perfectly

Note that setting it to "high" will most likely cause a hit in rendering performance as many parts needs to be drawn …

@GabeConsalter
Copy link

FYI: With version 1.7.3 you can pass a precision into react-native-maps-directions.

  • Setting it to "low" will draw the overview_polyline (which is an approximation of the route).
  • Setting it to "high" will draw a detailed polyline that should snap on the roads perfectly

Note that setting it to "high" will most likely cause a hit in rendering performance as many parts needs to be drawn …

Thank you!
This is awesome.

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

No branches or pull requests

6 participants