openstreetmap-website/app/assets/javascripts/edit/id.js.erb
2017-11-10 15:57:37 -05:00

38 lines
1.4 KiB
Text

$(document).ready(function () {
var id = $("#id-embed");
if (id.data("key")) {
var hashParams = OSM.params(location.hash.substring(1)),
mapParams = OSM.mapParams(),
params = {};
if (mapParams.object) {
params.id = mapParams.object.type[0] + mapParams.object.id;
mapParams = OSM.parseHash(location.hash);
if (mapParams.center) {
params.map = mapParams.zoom + '/' + mapParams.center.lat + '/' + mapParams.center.lng;
}
} else if (id.data("lat") && id.data("lon")) {
params.map = "16/" + id.data("lat") + "/" + id.data("lon");
} else {
params.map = (mapParams.zoom || 17) + '/' + mapParams.lat + '/' + mapParams.lon;
}
if (hashParams.background) params.background = hashParams.background;
if (hashParams.comment) params.comment = hashParams.comment;
if (hashParams.disable_features) params.disable_features = hashParams.disable_features;
if (hashParams.hashtags) params.hashtags = hashParams.hashtags;
if (hashParams.offset) params.offset = hashParams.offset;
if (hashParams.walkthrough) params.walkthrough = hashParams.walkthrough;
if (id.data("gpx")) {
params.gpx = id.data("gpx");
} else if (hashParams.gpx) {
params.gpx = hashParams.gpx;
}
id.attr("src", id.data("url") + "#" + querystring.stringify(params));
} else {
alert(I18n.t("site.edit.id_not_configured"));
}
});