Sorry, let me explain: I had to "project" the points to the line because we
can't expect the point we want to check will be exactly in the line we are
checking.

BR,
Jonathan


2013/1/7 Jonathan Kraemer <jonathankrae...@gmail.com>

> Hey guys,
>
> The problem of just checking the distance from the point to the route is
> that it will give a false positive in cases the point is actually after the
> end of the route or before the beginning, for instance.
>
> What I did there is actually pure math.
>
> See: the route is actually a bunch of lines. Using math you can get the
> equation of a line and using math functions, get the distance from a point
> to a line, plus check if the projection of a point lies inside the limits
> of the line. The tricky part is that in order to do all this calcs, we need
> the start/end point of the route lines and the points positions as a
> cartesian system, instead of latitude, longitude angles, X and Y dimensions
> in meters. That's not a problem actually, with a good enough approximation,
> we can convert lat,lon angles to X,Y distances. The result is not perfectly
> accurate, but it's proven that it is enough, I did not see cases of false
> positives in my app yet.
>
> Knowing that, here is more or less how I solved this:
>
> First of all, I am using the version 3 of the Google Maps API.
>
> So first step I make a look through all the points at the array
> overview_path that the directions API returns. So I make this loop from
> position 0 to "length-1" because overview_path contains points and I want
> to read always the current point AND the next one, so I have a line.
>
> But before calculating any information, I convert the coordinates to
> meters.
>
> With that in hands, I get the line equation, which is pure math. And again
> using math, calculate the distance from each point to the line and also
> project the point to the line and check if it is inside the limits (the
> initial and final points I am considering).
>
> Now that I know if the point is in the limits and the distance from the
> point to the line, I can check if it is close enough that I can consider
> that point "in" the route.
>
> I am not sure if it is understandable for you guys, let me know and I will
> try to make it simpler, I can share the code with you guys or I can create
> a "service" so you can just load in your apps and use it, what do you think?
>
> BR,
> Jonathan
>
>
>
>
>
>
>
>
>
>
> 2013/1/4 Carlos Montelongo <monte...@gmail.com>
>
>> Hi Jonathan.
>> If you can, please share with us your app.
>>
>> Thanks in advance.
>> Carlos Montelongo
>>
>>
>> 2013/1/4, winster <wtj...@gmail.com>:
>> > Hi Jonathan,
>> >
>> > Good work! I've given my vote.
>> >
>> > You may have come across a scenario what I am searching for. I have a
>> list
>> > of points on map. I need to check which of these points lie on a route.
>> >
>> >
>> >
>> >
>> > On Sun, Dec 30, 2012 at 8:54 PM, Jonathan Kraemer
>> > <jonathankrae...@gmail.com
>> >> wrote:
>> >
>> >> Hey Winster,
>> >>
>> >> I developed something that might help, please got o my app, which is
>> >> participating on Google Places API Developers Challenge:
>> >> http://enchentes.org , move the slider on the top right corner to 12m,
>> >> for instance (doing that, the app will show flood spots on that level
>> for
>> >> a
>> >> specific city) and get some directions by right clicking on the map >
>> Get
>> >> Directions From/To Here. You will see that routes that pass through the
>> >> flood spots become red.
>> >>
>> >> If you like it, please vote for my app on the challenge:
>> >> https://developers.google.com/places/challenge/gallery
>> >>
>> >> I can share with you guys how I did that if you think it solves the
>> >> issue.
>> >>
>> >> BR,
>> >> Jonathan
>> >>
>> >> Em segunda-feira, 12 de novembro de 2012 03h19min53s UTC-2, winster
>> jose
>> >> escreveu:
>> >>
>> >>> Hi Gautam,
>> >>>
>> >>> Can you please share your findings? I have a similar requirement. I
>> have
>> >>> a group of points (LAT/LON). When user selects a route (it can be any
>> >>> route), I need to show the points from my group if they lie in the
>> >>> requested route. Also how can we do it with a better performance? I
>> >>> think,
>> >>> once the user searches for a route, find the max and min LAT/LON, and
>> >>> get
>> >>> the points from my group. But still how to find out whether a point
>> lies
>> >>> in
>> >>> route?
>> >>>
>> >>> Thanks
>> >>> Winster
>> >>>
>> >>> On Tuesday, 29 November 2011 02:12:56 UTC+5:30, Gautam Thakur wrote:
>> >>>>
>> >>>> Thanks It worked. I also did the same after trying other things. got
>> >>>> the route and all the coordinates of polyline. then just used the
>> >>>> distance between two points function to get the minimal with a
>> >>>> threshold set.
>> >>>>
>> >>>> On Nov 28, 1:13 pm, yip cto <cto...@googlemail.com> wrote:
>> >>>> > On 27 Nov., 23:22, Gautam Thakur <gautam.c...@gmail.com> wrote:
>> >>>> >
>> >>>> > > Hi there,
>> >>>> >
>> >>>> > > I have a set of latitude and longitude and I want to know if
>> >>>> > > between
>> >>>> > > two end points, are there any of the other locationlie? Is it
>> >>>> > > possible to perform this using some google maps api to check for
>> >>>> > > location enroute ?
>> >>>> >
>> >>>> > You can use the directions service to generate arouteand then check
>> >>>> > the returned polyline coordinates. May be this solves your problem.
>> >>>> > No
>> >>>> > garantuee :-)
>> >>>>
>> >>>>  --
>> >> You received this message because you are subscribed to the Google
>> Groups
>> >> "Google Maps API V2" group.
>> >> To view this discussion on the web visit
>> >> https://groups.google.com/d/msg/google-maps-api/-/_e6w0YwXFKAJ.
>> >>
>> >> To post to this group, send email to google-maps-api@googlegroups.com.
>> >> To unsubscribe from this group, send email to
>> >> google-maps-api+unsubscr...@googlegroups.com.
>> >> For more options, visit this group at
>> >> http://groups.google.com/group/google-maps-api?hl=en.
>> >>
>> >
>> >
>> >
>> > --
>> > Regards
>> > Winster
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> Groups
>> > "Google Maps API V2" group.
>> > To post to this group, send email to google-maps-api@googlegroups.com.
>> > To unsubscribe from this group, send email to
>> > google-maps-api+unsubscr...@googlegroups.com.
>> > For more options, visit this group at
>> > http://groups.google.com/group/google-maps-api?hl=en.
>> >
>> >
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Google Maps API V2" group.
>> To post to this group, send email to google-maps-api@googlegroups.com.
>> To unsubscribe from this group, send email to
>> google-maps-api+unsubscr...@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/google-maps-api?hl=en.
>>
>>
>
>
> --
> Jonathan Kraemer
>



-- 
Jonathan Kraemer

-- 
You received this message because you are subscribed to the Google Groups 
"Google Maps API V2" group.
To post to this group, send email to google-maps-api@googlegroups.com.
To unsubscribe from this group, send email to 
google-maps-api+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-maps-api?hl=en.

Reply via email to