[AccessD] Distance Between Two Points

Stuart McLachlan stuart at lexacorp.com.pg
Mon Jan 7 20:38:54 CST 2013


Here ya go - quick and dirty, but it works for me:

Type geoloc
    lat As Double
    lon As Double
End Type

Function GetGeoCode(strAddress As String) As geoloc
    Dim oHTTP As Object
    Dim lngresult As Long
    Dim strPage As String
    Dim strParam As String
    Dim lngPtr As Long
    Dim strFixedAddress As String
    Dim gl As geoloc
    strFixedAddress = Replace(strAddress, vbCrLf, "")
    strFixedAddress = Replace(strFixedAddress, " ", "+")
    strParam = "http://maps.googleapis.com/maps/api/geocode/json?address=" & _
               strFixedAddress & "&sensor=false"
    Set oHTTP = CreateObject("Msxml2.XMLHTTP")
    lngresult = oHTTP.Open("GET", strParam, False)
    lngresult = oHTTP.Send("")
    strPage = oHTTP.Responsetext
    Set oHTTP = Nothing
    lngPtr = InStr(strPage, """location"" : {") + 20
    strPage = Mid$(strPage, lngPtr)
    lngPtr = InStr(strPage, "},")
    strPage = Left$(strPage, lngPtr)
    strPage = Replace(strPage, " ", "")
    gl.lat = Val(Mid$(strPage, 7))
    strPage = Mid$(strPage, InStr(strPage, """lng"":"))
    gl.lon = Val(Mid$(strPage, 7))
    GetGeoCode = gl
End Function

Function TestGeocode()
Dim strA As String
Dim gl As geoloc
strA = "1600 Amphitheatre Parkway, Mountain View, CA"
gl = GetGeoCode(strA)
MsgBox strA & " is as Lat: " & gl.lat & " and Lon: " & gl.lon
End Function

















On 8 Jan 2013 at 12:05, Stuart McLachlan wrote:

> I've got a few similar things floating around for currency exchange etc.  Give ma half an hour 
> or so :-)
> 
> -- 
> Stuart
> 
> 
> On 7 Jan 2013 at 17:47, Rocky Smolin wrote:
> 
> > Thanks Stuart.  Do you know of a site where I can see a snip of VBA code
> > using it?
> > 
> > 
> > Rocky
> > 
> > 
> > -----Original Message-----
> > From: accessd-bounces at databaseadvisors.com
> > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan
> > Sent: Monday, January 07, 2013 5:34 PM
> > To: Access Developers discussion and problem solving
> > Subject: Re: [AccessD] Distance Between Two Points
> > 
> > It's can be as simple as parsing the return from an http request such as 
> > 
> > http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+P
> > arkway,
> > +Mountain+View,+CA&sensor=false
> > 
> > See
> > https://developers.google.com/maps/documentation/geocoding/index
> > 
> > One caveat:
> > 
> > Note: the Geocoding API may only be used in conjunction with a Google map;
> > geocoding results without displaying them on a map is prohibited. 
> > 
> > 
> > Alternatives:
> > 
> > https://webgis.usc.edu/Services/Default.aspx
> > 
> > 
> > 
> > On 7 Jan 2013 at 17:01, Doug Murphy wrote:
> > 
> > > I think others on the list have discussed ways of doing this. It can be
> > done
> > > from the Google Maps api. You need a Google developer ID or something like
> > > that to use it. It has been a while since I played with it.
> > > 
> > > Doug
> > > 
> > > -----Original Message-----
> > > From: accessd-bounces at databaseadvisors.com
> > > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin
> > > Sent: Monday, January 07, 2013 3:56 PM
> > > To: 'Access Developers discussion and problem solving'
> > > Subject: [AccessD] Distance Between Two Points
> > > 
> > > Dear List:
> > >  
> > > I have a client who wants to add to his app the distance from his office
> > to
> > > various properties they appraise.  I see some code snips on the web to
> > > calculate this (as the crow flies) but is there a way to translate a
> > > complete address into latitude and longitude coordinates?
> > >  
> > > MTIA
> > >  
> > > Rocky Smolin
> > > Beach Access Software
> > > 858-259-4334
> > > www.bchacc.com <http://www.bchacc.com/> www.e-z-mrp.com
> > > <http://www.e-z-mrp.com/>
> > > Skype: rocky.smolin
> > >  
> > > --
> > > AccessD mailing list
> > > AccessD at databaseadvisors.com
> > > http://databaseadvisors.com/mailman/listinfo/accessd
> > > Website: http://www.databaseadvisors.com
> > > 
> > > -- 
> > > AccessD mailing list
> > > AccessD at databaseadvisors.com
> > > http://databaseadvisors.com/mailman/listinfo/accessd
> > > Website: http://www.databaseadvisors.com
> > > 
> > 
> > 
> > -- 
> > AccessD mailing list
> > AccessD at databaseadvisors.com
> > http://databaseadvisors.com/mailman/listinfo/accessd
> > Website: http://www.databaseadvisors.com
> > 
> > -- 
> > AccessD mailing list
> > AccessD at databaseadvisors.com
> > http://databaseadvisors.com/mailman/listinfo/accessd
> > Website: http://www.databaseadvisors.com
> > 
> 
> 
> -- 
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 




More information about the AccessD mailing list