<?php 
 require_once("db.php"); 
 $arr = $conn->getAreasList(); 
?> 
<!DOCTYPE html> 
<html> 
<head> 
 <title>Delete an area</title> 
 <script src="js/jquery.min.js"></script> 
 <link rel="stylesheet" href="css/leaflet.css" /> 
 <script src="js/leaflet.js"></script> 
</head> 
<body> 
 <div id="map" style="width: 600px; height: 400px"></div><br /> 
 <form action="deleteareadb.php" method="post"> 
  <h1>Delete an area</h1> 
  <table cellpadding="5" cellspacing="0" border="0"> 
   <tbody> 
    <tr align="left" valign="top"> 
     <td align="left" valign="top">Area name</td> 
     <td align="left" valign="top"><select id="area" name="area"><option value="0">Please choose an area</option><?php for( $i=0; $i < count($arr); $i++) { print '<option value="'.$arr[$i]['id'].'">'.$arr[$i]['name'].'</option>'; } ?></select></td> 
    </tr> 
    <tr align="left" valign="top"> 
     <td align="left" valign="top"></td> 
     <td align="left" valign="top"><input type="submit" value="Delete"></td> 
    </tr> 
   </tbody> 
  </table> 
 </form> 
 <script> 
  var map = L.map( 'map' ).setView( [51.505, -0.09], 13); 
  var polygon; 
  var draggableAreaMarkers = new Array(); 
 
  L.tileLayer( 'https://api.mapbox.com/styles/v1/mapbox/streets-v10/tiles/{z}/{x}/{y}?access_token=pk.eyJ1IjoibWVnYTYzODIiLCJhIjoiY2ozbXpsZHgxMDAzNjJxbndweDQ4am5mZyJ9.uHEjtQhnIuva7f6pAfrdTw', { 
   maxZoom: 18, 
   attribution: 'Map data © <a href="http://openstreetmap.org/"> OpenStreetMap </a> contributors, ' + 
    '<a href="http://creativecommons.org/"> CC-BY-SA </a>, ' + 
    'Imagery ? <a href="http://mapbox.com"> Mapbox </a>', 
   id: 'examples.map-i875mjb7' 
  }).addTo(map); 
   
  function resetArea() { 
   if(polygon != null) { 
    map.removeLayer( polygon ); 
   } 
   for(i=0; i < draggableAreaMarkers.length; i++) { 
    map.removeLayer( draggableAreaMarkers[i] ); 
   } 
   draggableAreaMarkers = new Array(); 
  } 
   
  function addMarkerAreaPoint(latLng) { 
   var areaMarker = L.marker( [latLng.lat, latLng.lng], { draggable: true, zIndexOffset: 900}).addTo(map); 
    
   areaMarker.arrayId = draggableAreaMarkers.length; 
 
   areaMarker.on('click', function() { 
    map.removeLayer( draggableAreaMarkers[ this.arrayId ]); 
    draggableAreaMarkers[ this.arrayId ] = ""; 
   }); 
 
   draggableAreaMarkers.push( areaMarker ); 
  } 
   
  function drawArea() { 
   if(polygon != null) { 
    map.removeLayer( polygon ); 
   } 
 
   var latLngAreas = new Array(); 
 
   for(i=0; i < draggableAreaMarkers.length; i++) { 
    if(draggableAreaMarkers[i] != "") { 
     latLngAreas.push( L.latLng( draggableAreaMarkers[ i ].getLatLng().lat, draggableAreaMarkers[ i ].getLatLng().lng)); 
    } 
   } 
 
   if(latLngAreas.length > 1) { 
    // create a blue polygon from an array of LatLng points 
    polygon = L.polygon( latLngAreas, { color: 'blue' }).addTo(map); 
   } 
 
   if(polygon != null) { 
    // zoom the map to the polygon 
    map.fitBounds( polygon.getBounds() ); 
   } 
  } 
   
  function getGeoPoints() { 
   var points = new Array(); 
   for(var i=0; i <draggableAreaMarkers.length; i++) { 
    if(draggableAreaMarkers[ i ] != "") { 
     points[i] =  draggableAreaMarkers[ i ].getLatLng().lng + "," + draggableAreaMarkers[ i ].getLatLng().lat; 
    } 
   } 
   $('#geo').val(points.join(',')); 
  } 
   
  $( document ).ready(function() {    
   $("#area").change(function() { 
    resetArea(); 
    for(var i=0;i<arr.length;i++) { 
     if(arr[i]['id'] == $('#area').val()) { 
      arrangePoints(arr[i]['geolocations']); 
      drawArea(); 
      break; 
     } 
    } 
   }); 
  }); 
   
  function arrangePoints( geo ) { 
   var linesPin = geo.split(","); 
 
   var linesLat = new Array(); 
   var linesLng = new Array(); 
 
   for(i=0; i < linesPin.length;i++) { 
    if(i % 2) { 
     linesLat.push(linesPin[i]); 
    }else{ 
     linesLng.push(linesPin[i]); 
    } 
   } 
 
   var latLngLine = new Array(); 
 
   for(i=0; i < linesLng.length; i++) { 
    latLngLine.push( L.latLng( linesLat[i], linesLng[i])); 
   } 
 
   for(i=0; i < latLngLine.length;i++) { 
    addMarkerAreaPoint( latLngLine[i]); 
   } 
  } 
   
  var arr = JSON.parse( '<?php echo json_encode($arr) ?>' ); 
 </script> 
</body> 
</html>
 
 |