Jump to content

Improved Accuracy in deriving GPS Co-ordinates.


This topic is 3026 days old. Please don't post here. Open a new topic instead.

Recommended Posts

If you're looking up GPS co-ordinates for addresses with not much detail ( e.g only containing city, county), then google will actually send a few co-ordinates as part of the api response. FM Easy Maps by default always grabs the first pair, which can often be far from accurate. I've tweaked the script steps to be more accurate in these situations, whilst still working the same way on 'full' addresses:

For Latitude:

Let (

[

$API_Result = Evaluate ( "EasyMaps::EM_Global" );

$loctype = If ( PatternCount ( $API_Result ; "\"location_type\" : \"APPROXIMATE\"," ) ; 3 ; 1 ) ;

$Start = Position ( $API_Result ; "\"lat\" : " ; 1 ; 1*$loctype ) + Length ( "\"lat\" : " );

$Stop = Position ( $API_Result; ","; $Start; 1 )

]

; Round ( Middle ( $API_Result; $Start ; $Stop - $Start ); 8 )

)

For Longitude:

Let (

[

$API_Result = Evaluate ( "EasyMaps::EM_Global" );

$loctype = If ( PatternCount ( $API_Result ; "\"location_type\" : \"APPROXIMATE\"," ) ; 3 ; 1 ) ;

$Start = Position ( $API_Result ; "\"lng\" : " ; 1 ; 1*$loctype ) + Length ( "\"lng\" : " );

$Stop = Position ( $API_Result; "}"; $Start; 1 )

]

; Round ( Middle ( $API_Result; $Start ; $Stop - $Start ); 8 )

)

 

Link to comment
Share on other sites

This topic is 3026 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.