e.preventDefault();
e.stopPropagation();
- if (queryButton.hasClass("disabled")) return;
-
if (queryButton.hasClass("active")) {
disableQueryMode();
- } else {
+ } else if (!queryButton.hasClass("disabled")) {
enableQueryMode();
}
}).on("disabled", function (e) {
var tags = feature.tags;
var prefix = "";
- if (tags.boundary === "administrative") {
- prefix = I18n.t("geocoder.search_osm_nominatim.admin_levels.level" + tags.admin_level)
+ if (tags.boundary === "administrative" && tags.admin_level) {
+ prefix =
+ I18n.t("geocoder.search_osm_nominatim.admin_levels.level" + tags.admin_level, {
+ defaultValue: I18n.t("geocoder.search_osm_nominatim.prefix.boundary.administrative")
+ })
} else {
var prefixes = I18n.t("geocoder.search_osm_nominatim.prefix");
if (prefixes[key]) {
if (prefixes[key][value]) {
return prefixes[key][value];
- } else {
- var first = value.substr(0, 1).toUpperCase(),
- rest = value.substr(1).replace(/_/g, " ");
-
- return first + rest;
}
}
}
+
+ for (var key in tags) {
+ var value = tags[key];
+
+ if (prefixes[key]) {
+ var first = value.substr(0, 1).toUpperCase(),
+ rest = value.substr(1).replace(/_/g, " ");
+
+ return first + rest;
+ }
+ }
}
if (!prefix) {
}
function featureName(feature) {
- var tags = feature.tags;
+ var tags = feature.tags,
+ locales = I18n.locales.get();
+
+ for (var i = 0; i < locales.length; i++) {
+ if (tags["name:" + locales[i]]) {
+ return tags["name:" + locales[i]];
+ }
+ }
if (tags["name"]) {
return tags["name"];