Show/Hide Toolbars

Android Applications

Navigation: Delphi Libraries

Navigation Utilities

Scroll Prev Top Next More

Essentially codifies in a single Delphi record type the Java Script Navigation Code mostly from Movable Type Scripts and then builds additional functionality around these.

 

Record RNavigateLongLat

 

Open a record with Longitude and Latitude as either Radians or Degrees. Checks valid values.

   Procedure CreateDec(ADecLong, ADecLatt: Double);  (Long Lat in Degrees)

   Procedure Create(ALongRad, ALatRad: Double);          (Long Lat in Radians)

 

Using that record obtain a second record at a given distance and bearing

   Function LocationAt(AMeters, ATrueHeadingDegrees: Double): RNavigateLongLat;

   Function LocationAtMtrsRad(AMeters, ATrueHeadingRadians: Double)

     : RNavigateLongLat;

 

Or

Use a second record to obtain distance and/or great circle bearing  

   Function MetresFrom(AStart: RNavigateLongLat): Double;

   Function LocationAt(AMeters, ATrueHeadingDegrees: Double): RNavigateLongLat;

   Function HeadingFrom(AStart: RNavigateLongLat): Double;    // 0..360 Degrees

   Function HeadingInRadFrom(AStart: RNavigateLongLat): Double;

 

   Function MetresFromPrecision(AStart: RNavigateLongLat;

     Out ARadiansToStart, ARadiansFromStart: Double{Radians}; AAllowPolarRoute: Boolean = false): Double;

   Function LocationAtMtrsRad(AMeters, ATrueHeadingRadians: Double)

     : RNavigateLongLat;

 

Use a record to find a Link to Google Maps

   Function GoogleLink: String;

   Function GoogleLinkDirectionsTo(ADestination: RNavigateLongLat;

       AMapLoc: Integer = 0 { 0 Start 1 End 3 Center } ): String;

 

   In Windows Only do a Shell execute to Google in a browser

   Procedure GoGoogle;

   Procedure GoGoogleDirectionsTo(ADestination:RNavigateLongLat;

        AMapLoc: Integer = 0 { 0 Start 1 End 3 Center });

 

The remaining functions are about formatting the values into text and other utilities the handle running averaging.