+ const hash = location.hash.substring(1);
+ const hashParams = hash ? OSM.params(hash) : {};
+ const hashArgs = OSM.parseHash(location.hash);
+ const mapParams = OSM.mapParams();
+ const params = new URLSearchParams();
+ let zoom, lat, lon;
+
+ if (idData.lat && idData.lon) {
+ ({ zoom, lat, lon } = idData);
+ } else if (!mapParams.object) {
+ ({ zoom, lat, lon } = mapParams);
+ }
+ if (mapParams.object) {
+ params.set("id", mapParams.object.type + "/" + mapParams.object.id);
+ if (hashArgs.center) ({ zoom, center: { lat, lng: lon } } = hashArgs);
+ }
+ if (lat && lon) params.set("map", [zoom || 17, lat, lon].join("/"));