|
@@ -106,7 +106,44 @@
|
|
|
$('#id_newrefpoint-altitude').val(parseInt(data));
|
|
|
});
|
|
|
}
|
|
|
-
|
|
|
+ function SearchPlace() {
|
|
|
+ $('#search-btn').click(function(e){
|
|
|
+ e.preventDefault();
|
|
|
+ var btn = $(this).button('loading');
|
|
|
+
|
|
|
+ // Geocoding
|
|
|
+ var searchString = $('#search').val();
|
|
|
+ $.getJSON('https://nominatim.openstreetmap.org/search?limit=5&format=json&q='+searchString, function(data){
|
|
|
+
|
|
|
+ var items = [];
|
|
|
+ $.each(data, function(key, val) {
|
|
|
+ items.push(
|
|
|
+ "<li class='list-group-item'><a href='#' data-lat='"+val.lat+"' data-lng='"+val.lon+"'>" + val.display_name + '</a></li>'
|
|
|
+ );
|
|
|
+ });
|
|
|
+
|
|
|
+ $('#modal .modal-body').empty();
|
|
|
+ if (items.length != 0) {
|
|
|
+ $('<ul/>').addClass("list-group").html(items.join('')).appendTo('#modal .modal-body');
|
|
|
+ } else {
|
|
|
+ $('<p/>', { html: "Aucun résultat" }).appendTo('#modal .modal-body');
|
|
|
+ }
|
|
|
+ $('#modal').modal('show');
|
|
|
+
|
|
|
+ // Bind click on results and update coordinates
|
|
|
+ $('#modal .modal-body a').on('click', function(e){
|
|
|
+ $('#modal').modal('hide');
|
|
|
+ e.preventDefault();
|
|
|
+ crosshair.setLatLng({lat:$(this).data('lat'), lng:$(this).data('lng')}).update();
|
|
|
+ map.panTo({lat:$(this).data('lat'), lng:$(this).data('lng')});
|
|
|
+ map.setZoom(19);
|
|
|
+ mapUpdateCoords();
|
|
|
+ });
|
|
|
+ btn.button('reset');
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
function initmap() {
|
|
|
// set up the map
|
|
|
map = new L.Map('map');
|
|
@@ -138,6 +175,9 @@
|
|
|
$('#locate-gps-btn, #new-pano-btn, #new-refpoint-btn').click(function(e) {
|
|
|
fillCoord();
|
|
|
});
|
|
|
+
|
|
|
+ // Add searching form
|
|
|
+ SearchPlace();
|
|
|
|
|
|
// Create markers for panoramas
|
|
|
{% for pano in panoramas %}
|
|
@@ -174,6 +214,8 @@
|
|
|
map.addLayer(pointsOfInterest);
|
|
|
map.fitBounds(allMarkers,{padding: [30, 30]});
|
|
|
legend.addTo(map);
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
initmap();
|
|
|
|