Getting started with geographical coordinates

Andrew at MidWest Coast Media andrew at midwestcoastmedia.com
Fri Apr 3 18:43:14 EDT 2020


I feel that Calculate Distance script has been shared before, because it looks strikingly similar to one that I use in my mobile app (and is WAY better written than I ever could have done), so thank you.

Recently I was tasked by my cousin to come up with a delivery system for his brewery since they can only serve carryout during COVID. I did this using LiveCode server (https://midwestcoastmedia.com/beta_ltd/delivery.html <https://midwestcoastmedia.com/beta_ltd/delivery.html>) with Google Maps (and Untappd) APIs. Your post made me realize that I can update my current basic mobileLocation usage from just the “you are this far away” model to a “here’s how to get here” system. 

So thanks EVERYONE on this refresher! 
Here is the relevant code if anyone else finds it of interest. I was using $_POST values from an HTML form but you could easily modify the origin and destination to a number of formats:
## https://developers.google.com/maps/documentation/directions/start
		put urlEncode("12365 N Dumont Way, Littleton, CO 80125, USA") into tOrigin // his brewery
		put "https://maps.googleapis.com/maps/api/directions/json?origin=" & tOrigin & "&destination=" into tAPIurl
		put urlEncode(tAddress1 & COMMA && tCity & COMMA && "CO" && tZip & COMMA && "USA") into tDestination
		put tDestination after tAPIurl
		put "&key=WHATEVERYOURAPIKEYISGOESHERE" after tAPIurl
		put url tAPIurl into tJSON

—Andrew Bell


> 
> Ralph, this is brilliant. I remember trying to do something similar years ago, and giving up because I didn't know how to do the math. I suck at math, or rather I am too lazy and impatient to work the problem. 
> 
> Bob S
> 
>> On Apr 3, 2020, at 14:27 , Ralph DiMola via use-livecode <use-livecode at lists.runrev.com> wrote:
>> 
>> Graham,
>> 
>> This my distance calculation for what it's worth.
>> 
>> Function distance lat1, lon1, lat2, lon2, unit
>>  -- Calculate Distance between to points
>>  --
>>  --lat1, lon1, lat2, lon2 are in deg.fractionalDegrees
>>  -- Unit
>>  --     if empty then miles
>>  --     K = kilometers
>>  --     N = nautical miles
>>  local theta
>>  local dist
>> 
>>  Put lon1 - lon2 into theta
>>  put Sin(deg2rad(lat1)) * Sin(deg2rad(lat2)) + Cos(deg2rad(lat1)) * Cos(deg2rad(lat2)) * Cos(deg2rad(theta)) into dist
>> 
>>  put Acos(dist) into dist
>>  put rad2deg(dist) into dist
>>  put dist * 60 * 1.1515 into dist
>> 
>>  switch unit
>>     case "K"
>>        put dist * 1.609344 into dist
>>     case "N"
>>        put dist * 0.8684 into dist
>>  end switch
>> 
>>  Return dist
>> 
>> End distance
>> 
>> 
>> Function rad2deg rad
>>  Return rad / PI * 180.0
>> end rad2deg
>> 
>> 
>> Ralph DiMola
>> IT Director
>> Evergreen Information Services
>> rdimola at evergreeninfo.net
> 
> 
> 



More information about the use-livecode mailing list