Advertisement
Guest User

Untitled

a guest
Jan 20th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.90 KB | None | 0 0
  1. function leafletInit(map,routeList){
  2. var routes = L.layerGroup();
  3. displayRoutes(map, routeList, routes);
  4. }
  5. function displayRoutes(map, data, routes){
  6. var selectedFeature = null;
  7. var highlight = {
  8. 'color': '#149c14',
  9. 'weight': 4,
  10. 'opacity': 1
  11. };
  12. var btnCount= 0;
  13. var routeLayer = L.geoJson(data,{
  14. onEachFeature: function(feature,layer){
  15. if(feature.properties.route_color)
  16. layer.setStyle({color: feature.properties.route_color });
  17. else
  18. layer.setStyle({color:'#0000FF'});
  19.  
  20. layer.on('click',function(e){
  21. if(selectedFeature){
  22. selectedFeature.editing.disable();
  23. }
  24. if(document.getElementById('edit-mode').checked){
  25. selectedFeature = e.target;
  26. selectedFeature.editing.enable();
  27. var default_color = layer.options.color;
  28. layer.setStyle(highlight);
  29. selectedFeature.feature.properties.highlight = true;
  30. hideLayers(map);
  31.  
  32. if(btnCount == 0){
  33. btnCount+= 1;
  34. var editBtn = L.easyButton({
  35. id:'edit',
  36. states:[{
  37. icon: "fa fa-pencil-square-o",
  38. onClick: function(btn){
  39. var editedFeature = selectedFeature.toGeoJSON();
  40. $.ajax({
  41. // ...
  42. success: function(data){
  43. var obj = JSON.parse(data);
  44. //...
  45. //...
  46. $("#modal-create").on('click', function(){
  47. feature.type = "Feature";
  48. $.ajax({
  49. //...
  50. });
  51. });
  52. }
  53. });
  54. }
  55. }]
  56. });
  57. editBtn.addTo(map);
  58.  
  59. var finishBtn = L.easyButton({
  60. id:'finish',
  61. states: [{
  62. icon:"fa fa-check",
  63. onClick: function(btn){
  64. selectedFeature.editing.disable();
  65. showLayers(map);
  66. layer.closePopup();
  67. var editedFeature = selectedFeature.toGeoJSON();
  68. alert("Updating:" + editedFeature.route_id);
  69. $.ajax({
  70. //...
  71. });
  72. //...
  73. }
  74. }]
  75. });
  76. finishBtn.addTo(map);
  77. }
  78. }
  79. });
  80. }
  81. });
  82. routes.addLayer(routeLayer);
  83. }
  84.  
  85. function hideLayers(map,routeLayer){
  86. //routeLayer.eachLayer(function (layer){
  87. this.layer.eachLayer(function(layer){
  88. alert(JSON.stringify(layer.feature.properties.highlight));
  89. if(!layer.feature.properties.highlight){
  90. map.removeLayer(layer)
  91. }
  92. });
  93. }
  94.  
  95. function showLayers(map,routeLayer){
  96. this.layer.eachLayer(function(layer){
  97. layer.feature.properties.highlight = false;
  98. map.addLayer(layer);
  99. });
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement