From: Tom Hughes Date: Sun, 3 Feb 2013 16:47:30 +0000 (+0000) Subject: Allow a note=N parameter in the URL to zoom to and open a note X-Git-Tag: live~5068^2~33 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/4b324f58969c8780b85d5907fc14e180ccd11574 Allow a note=N parameter in the URL to zoom to and open a note --- diff --git a/app/assets/javascripts/index/notes.js.erb b/app/assets/javascripts/index/notes.js.erb index 9be29726a..6245758bf 100644 --- a/app/assets/javascripts/index/notes.js.erb +++ b/app/assets/javascripts/index/notes.js.erb @@ -43,6 +43,20 @@ $(document).ready(function () { map.layersControl.addOverlay(noteLayer, I18n.t("browse.start_rjs.notes_layer_name")); if (params.notes) map.addLayer(noteLayer); + + if (params.note) { + $.ajax({ + url: "/api/" + OSM.API_VERSION + "/notes/" + params.note + ".json", + success: function (feature) { + var marker = updateMarker(notes[feature.properties.id], feature); + + notes[feature.properties.id] = marker; + + map.addLayer(noteLayer); + marker.openPopup(); + } + }); + } } function updateMarker(marker, feature) { @@ -106,10 +120,10 @@ $(document).ready(function () { function popupOptions() { var mapSize = map.getSize(); - return { + return { minWidth: 320, - maxWidth: mapSize.y * 1 / 3, - maxHeight: mapSize.y * 2 / 3, + maxWidth: mapSize.y * 1 / 3, + maxHeight: mapSize.y * 2 / 3, offset: new L.Point(0, -3), autoPanPadding: new L.Point(60, 40) }; diff --git a/app/assets/javascripts/osm.js.erb b/app/assets/javascripts/osm.js.erb index ebd97f39b..81c1e3152 100644 --- a/app/assets/javascripts/osm.js.erb +++ b/app/assets/javascripts/osm.js.erb @@ -113,6 +113,10 @@ OSM = { mapParams.notes = params.notes == "yes"; + if (params.note) { + mapParams.note = parseInt(params.note); + } + var scale = parseFloat(params.scale); if (scale > 0) { mapParams.zoom = Math.log(360.0 / (scale * 512.0)) / Math.log(2.0);