Browse files

Allow a note=N parameter in the URL to zoom to and open a note

  • Loading branch information...
1 parent 2da3b85 commit 4b324f58969c8780b85d5907fc14e180ccd11574 @tomhughes committed Feb 3, 2013
Showing with 21 additions and 3 deletions.
  1. +17 −3 app/assets/javascripts/index/notes.js.erb
  2. +4 −0 app/assets/javascripts/osm.js.erb
View
20 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)
};
View
4 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);

0 comments on commit 4b324f5

Please sign in to comment.