X-Git-Url: https://git.openstreetmap.org./nominatim-ui.git/blobdiff_plain/a82c578374260ba3450fbd475da5739b9d92a4ce..2d04ebbd7dd3f76783f1d1595504921292614beb:/src/handlebar_helpers.js
diff --git a/src/handlebar_helpers.js b/src/handlebar_helpers.js
index 4d1889f..3ece852 100644
--- a/src/handlebar_helpers.js
+++ b/src/handlebar_helpers.js
@@ -184,16 +184,25 @@ Handlebars.registerHelper({
coverageType: function (aPlace) {
return (aPlace.isarea ? 'Polygon' : 'Point');
},
- // fDistance is in meters
- formatDistance: function (fDistanceMeters) {
- if (fDistanceMeters < 1) return '0';
+ formatDistance: function (fDistance, bInMeters) {
+ if (bInMeters) {
+ if (fDistance < 1) return '0';
+ var sFormatted = (fDistance >= 1000)
+ ? Math.round(fDistance / 1000, 1) + ' km'
+ : Math.round(fDistance, 0) + ' m';
- var formatted = (fDistanceMeters >= 1000)
- ? Math.round(fDistanceMeters / 1000, 1) + ' km'
- : Math.round(fDistanceMeters, 0) + ' m';
+ return new Handlebars.SafeString(
+ '~' + sFormatted + ''
+ );
+ }
+
+ // spheric distance, http://postgis.net/docs/ST_Distance_Spheroid.html
+ if (fDistance === 0) return '0';
return new Handlebars.SafeString(
- '~' + formatted + ''
+ '~'
+ + (Math.round(fDistance * 1000, 4) / 1000)
+ + ''
);
},
// mark partial tokens (those starting with a space) with a star for readability