Working on setup of lat lon boundries.
authorSteve Sutton <steve@gaslightmedia.com>
Fri, 26 Apr 2019 19:58:51 +0000 (15:58 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Fri, 26 Apr 2019 19:58:51 +0000 (15:58 -0400)
Showing a rectangle with two markers.
Moving the markers updates the rectangle and the fields.
TODO: add management options to save
bounds_enable bool
bounds_lat_min float
bounds_lat_max float
bounds_lon_min float
bounds_lon_max float

views/admin/management/index.html

index d3babe0..39cbee4 100755 (executable)
                     <br>Please enter values in decimal degrees.
                 </td>
             </tr>
+        {if $genSettings.fieldData.selected_map_interface.value == 1}
+            <tr>
+                <th>Lat Lon Bounds:</th>
+                <td>
+                    <label for="bounds_lat_min">Lat Min:</label>
+                    <input id="glmBoundsLatMin" type="text" name="bounds_lat_min" value="45.0812" class="glm-form-text-input-small"><br>
+                    <label for="bounds_lon_min">Lon Min:</label>
+                    <input id="glmBoundsLonMin" type="text" name="bounds_lon_min" value="-90.4504" class="glm-form-text-input-small">
+                    <br>
+                    <label for="bounds_lat_max">Lat Max:</label>
+                    <input id="glmBoundsLatMax" type="text" name="bounds_lat_max" value="48.2533" class="glm-form-text-input-small"><br>
+                    <label for="bounds_lon_max">Lon Max:</label>
+                    <input id="glmBoundsLonMax" type="text" name="bounds_lon_max" value="-83.4082" class="glm-form-text-input-small">
+                </td>
+            </tr>
+        {/if}
 
             <!-- Misc. Settings -->
 
             var startLon = $('#glmLng').val();
             var defZoom = Number($('#mapDefZoom').val());
 
+            var latMin = $('#glmBoundsLatMin').val();
+            var latMax = $('#glmBoundsLatMax').val();
+            var lonMin = $('#glmBoundsLonMin').val();
+            var lonMax = $('#glmBoundsLonMax').val();
+
         {if $genSettings.fieldData.selected_map_interface.value == 1}
 
             /*
                     $('#glmLng').val(position.lng.toFixed(6));
                 });
 
+                var glmArea = [[latMin, lonMax],[latMax, lonMin]];
+                var glmRec = L.rectangle(glmArea, {
+                    color: '#ff7800', weight: 1
+                }).addTo(leafletMap);
+
+                var swMarker = L.marker([latMin, lonMin], {
+                    draggable: true
+                }).addTo(leafletMap);
+                swMarker.on('dragend', function(event){
+                    var tMarker = event.target;
+                    var position = tMarker.getLatLng();
+                    console.log( 'position', position );
+                    tMarker.setLatLng(new L.LatLng(position.lat, position.lng),{ draggable:'true' });
+
+                    glmRec.removeFrom(leafletMap);
+                    glmArea = [[position.lat.toFixed(6), lonMax],[latMax, position.lng.toFixed(6)]];
+                    glmRec = L.rectangle(glmArea, {
+                        color: '#ff7800', weight: 1
+                    }).addTo(leafletMap);
+
+                    $('#glmBoundsLatMin').val(position.lat.toFixed(6));
+                    $('#glmBoundsLonMin').val(position.lng.toFixed(6));
+                });
+                var neMarker = L.marker([latMax, lonMax], {
+                    draggable: true
+                }).addTo(leafletMap);
+                neMarker.on('dragend', function(event){
+                    var tMarker = event.target;
+                    var position = tMarker.getLatLng();
+                    console.log( 'position', position );
+                    tMarker.setLatLng(new L.LatLng(position.lat, position.lng),{ draggable:'true' });
+
+                    glmRec.removeFrom(leafletMap);
+                    glmArea = [[latMin, position.lng.toFixed(6)],[position.lat.toFixed(6), lonMin]];
+                    glmRec = L.rectangle(glmArea, {
+                        color: '#ff7800', weight: 1
+                    }).addTo(leafletMap);
+
+                    $('#glmBoundsLatMax').val(position.lat.toFixed(6));
+                    $('#glmBoundsLonMax').val(position.lng.toFixed(6));
+                });
+
             }
 
             // Set map zoom when changing default zoom level