module.exports.formatOSMType = formatOSMType;
-module.exports.formatShortOSMType = formatShortOSMType;
module.exports.osmLink = osmLink;
module.exports.formatLabel = formatLabel;
-module.exports.detailsURL = detailsURL;
module.exports.wikipediaLink = wikipediaLink;
module.exports.coverageType = coverageType;
module.exports.isAdminBoundary = isAdminBoundary;
return '';
}
-function formatShortOSMType(sType) {
- if (sType === 'node') return 'N';
- if (sType === 'way') return 'W';
- if (sType === 'relation') return 'R';
- return '';
-}
-
function osmLink(aPlace) {
if (!aPlace.osm_type) return '';
var sOSMType = formatOSMType(aPlace.osm_type, false);
return s && s[0].toUpperCase() + s.slice(1);
}
- if (aPlace.type && aPlace.type === 'yes' && aPlace.class) {
- return capitalize(aPlace.class.replace(/_/g, ' '));
+ if (aPlace.type && aPlace.type === 'yes' && aPlace.category) {
+ return capitalize(aPlace.category.replace(/_/g, ' '));
}
if (aPlace.type) {
return capitalize(aPlace.type.replace(/_/g, ' '));
return '';
}
-// 'details.html?osmtype=R&osmid=2181874&class=boundary'
-function detailsURL(aFeature) {
- if (!aFeature) return '';
-
- var sOSMType = aFeature.osm_type;
- if (sOSMType && sOSMType.length !== 1) {
- sOSMType = formatShortOSMType(aFeature.osm_type, false); // node => N
- }
- if (!sOSMType) return '';
-
- var sURL = 'details.html?osmtype=' + sOSMType + '&osmid=' + aFeature.osm_id;
- if (aFeature.class) {
- sURL = sURL + '&class=' + encodeURIComponent(aFeature.class);
- } else if (aFeature.category) {
- sURL = sURL + '&class=' + encodeURIComponent(aFeature.category);
- }
- return sURL;
-}
-
/* en:London_Borough_of_Redbridge => https://en.wikipedia.org/wiki/London_Borough_of_Redbridge */
function wikipediaLink(aPlace) {
if (!aPlace.calculated_wikipedia) return '';
// Any over 15 are invalid data in OSM anyway
function formatAdminLevel(iLevel) {
- return (iLevel < 15 ? iLevel : '');
+ return (iLevel && iLevel < 15 ? iLevel : '');
}
function formatDistance(fDistance, bInMeters) {