[gnome-maps/wip/mlundblad/localized-names-from-overpass: 2/2] WIP: overpass: Use localized name tag when available...




commit 0bd76f1bed9ca13227e6dc347aed08f3b34e8177
Author: Marcus Lundblad <ml update uu se>
Date:   Thu Oct 8 23:29:17 2020 +0200

    WIP: overpass: Use localized name tag when available...

 src/overpass.js | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)
---
diff --git a/src/overpass.js b/src/overpass.js
index af1ea389..bf9a1d7d 100644
--- a/src/overpass.js
+++ b/src/overpass.js
@@ -22,6 +22,7 @@ const Geocode = imports.gi.GeocodeGlib;
 const GObject = imports.gi.GObject;
 const Soup = imports.gi.Soup;
 
+const OSMNames = imports.osmNames;
 const PhotonParser = imports.photonParser;
 const Place = imports.place;
 const Utils = imports.utils;
@@ -200,8 +201,9 @@ var Overpass = GObject.registerClass({
         if (!(element && element.tags))
             return;
 
-        if (element.tags.name)
-            place.name = element.tags.name;
+        let name = this._getLocalizedName(element.tags, place);
+        if (name)
+            place.name = name;
         if (element.tags.population)
             place.population = element.tags.population;
         if (element.tags['contact:website'])
@@ -230,6 +232,20 @@ var Overpass = GObject.registerClass({
             place.note = element.tags.note;
     }
 
+    _getLocalizedName(tags, place) {
+        let language = Utils.getLanguage();
+
+        Utils.debug('tags: ' + JSON.stringify(tags, null, 2));
+        Utils.debug('language: ' + language);
+
+        let name = OSMNames.getNameForLanguage(tags, language);
+
+        if (!name)
+            name = OSMNames.getFallbackNameForLanguage(tags, place, language);
+
+        return name;
+    }
+
     _getQueryUrl(osmType, osmId) {
         return Format.vprintf('%s?data=%s', [BASE_URL,
                                              this._generateOverpassQuery(osmType,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]