Advertisement
Guest User

Untitled

a guest
Feb 12th, 2016
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.60 KB | None | 0 0
  1. Assertion failed: uid (145) of value ([object Object]) does not exist
  2.  
  3. Uncaught AssertionError: Assertion failed: featureKey exists in featureChangeKeys
  4.  
  5. var lineDraw;
  6. var areaDraw;
  7. var divMap = document.createElement("div");
  8. var divMouse = document.createElement("div");
  9. divMap.id = 'map';
  10. divMouse.id="mouse-position";
  11. document.body.appendChild(divMap);
  12. document.body.appendChild(divMouse);
  13. var btnClose = document.createElement("input");
  14. var divBtnPan = document.createElement("div");
  15. var divBtnLine = document.createElement("div");
  16. var divBtnArea = document.createElement("div");
  17. var divBtnErase = document.createElement("div");
  18. var imgPan = document.createElement("img");
  19. var imgLine = document.createElement("img");
  20. var imgArea = document.createElement("img");
  21. var imgErase = document.createElement("img");
  22. imgPan.src = "css/img/pan.png";
  23. imgPan.classList.add('imgPan');
  24. imgPan.classList.add('active');
  25. imgLine.src= "css/img/length-measure_8411.png";
  26. imgLine.classList.add('imgLine');
  27. imgArea.src= "css/img/area-measure_3056.png";
  28. imgArea.classList.add('imgArea');
  29. imgErase.src= "css/img/eraser.png";
  30. imgErase.classList.add('imgErase');
  31. divBtnPan.appendChild(imgPan);
  32. divBtnLine.appendChild(imgLine);
  33. divBtnArea.appendChild(imgArea);
  34. divBtnErase.appendChild(imgErase);
  35. divBtnPan.id = 'pan';
  36. divBtnLine.id = 'line';
  37. divBtnArea.id = 'area';
  38. divBtnErase.id = 'erase';
  39. btnClose.classList.add('btnClose');
  40. btnClose.type = 'image';
  41. btnClose.value = " ";
  42. var name = event.target.parentNode.parentNode.firstChild.innerHTML;
  43. layer_name = 'geoportal:' + name;
  44. var format = "image/png";
  45. var mousePositionControl = new ol.control.MousePosition({
  46. coordinateFormat: ol.coordinate.createStringXY(2),
  47. projection: 'EPSG:4326',
  48. className: 'custom-mouse-position',
  49. target: document.getElementById('mouse-position'),
  50. undefinedHTML: ' '
  51. });
  52.  
  53. var map = new ol.Map({
  54. controls: ol.control.defaults({
  55. attributionOptions:({
  56. collapsible: false
  57. })
  58. }).extend([mousePositionControl,
  59. new ol.control.OverviewMap()]),
  60. layers: [
  61. new ol.layer.Tile({source: new ol.source.OSM()}),
  62. new ol.layer.Tile({
  63. visible: true,
  64. zIndex: 995,
  65. source: new ol.source.TileWMS({
  66. preload: Infinity,
  67. url: 'http://192.168.255.197:8080/geoserver/geoportal/wms',
  68. serverType: 'geoserver',
  69. params: {'FORMAT': format,
  70. 'VERSION': '1.1.1',
  71. 'TILED': true,
  72. LAYERS: layer_name,
  73. STYLES: ''
  74. }
  75. })
  76. })
  77. ],
  78. view: new ol.View({
  79. center: ol.proj.transform([55.75, 37.61], 'EPSG:4326', 'EPSG:3857'),
  80. zoom: 2,
  81. projection: 'EPSG:3857'
  82. }),
  83. target: 'map'
  84. });
  85. $('.ol-viewport').append(btnClose);
  86. $('.ol-viewport').append(divBtnPan);
  87. $('.ol-viewport').append(divBtnArea);
  88. $('.ol-viewport').append(divBtnLine);
  89. $('.ol-viewport').append(divBtnErase);
  90. $('.ol-rotate').remove();
  91. $('.ol-attribution').remove();
  92. $('.btnClose')[0].remove();
  93. $('.btnClose').on('click', closeMap);
  94. $('.imgPan')[0].remove();
  95. $('.imgPan').on('mouseover', changePanIcon);
  96. $('.imgPan').on('mouseout', changePanIcon1);
  97. $('.imgLine')[0].remove();
  98. $('.imgLine').on('mouseover', changeLineIcon);
  99. $('.imgLine').on('mouseout', changeLineIcon1);
  100. $('.imgArea')[0].remove();
  101. $('.imgArea').on('mouseover', changeAreaIcon);
  102. $('.imgArea').on('mouseout', changeAreaIcon1);
  103. $('.imgErase')[0].remove();
  104. $('.imgErase').on('mouseover', changeEraseIcon);
  105. $('.imgErase').on('mouseout', changeEraseIcon1);
  106. var drawSource = new ol.source.Vector();
  107. var drawLayer = new ol.layer.Vector({
  108. zIndex: 999,
  109. source:drawSource
  110. });
  111. var select = new ol.interaction.Select();
  112. var erase = new ol.interaction.Select();
  113. var lineDraw = new ol.interaction.Draw({
  114. source: drawSource,
  115. type: 'LineString'
  116. });
  117. var lineArea = new ol.interaction.Draw({
  118. source: drawSource,
  119. type: 'Polygon'
  120. });
  121. $('.imgPan').click(function(){
  122. clearCustomInteraction();
  123. $(this).addClass('active');
  124. return false;
  125. })
  126. $('.imgLine').click(function(){
  127. clearCustomInteraction();
  128. $(this).addClass('active');
  129. map.addInteraction(lineDraw);
  130. lineDraw.on('drawEnd', function(e){
  131. });
  132. });
  133. $('.imgArea').click(function(){
  134. clearCustomInteraction();
  135. $(this).addClass('active');
  136. map.addInteraction(lineArea);
  137. lineArea.on('drawEnd', function(e){
  138. });
  139. })
  140. $('.imgErase').click(function(){
  141. clearCustomInteraction();
  142. $(this).addClass('active');
  143. map.addInteraction(erase);
  144. erase.getFeatures().on('change:length', function(e){
  145. if(e.target.getArray().length !== 0){
  146. drawLayer.getSource().removeFeature(e.target.item(0));
  147. }
  148. });
  149. return false;
  150. });
  151. map.addLayer(drawLayer);
  152. function clearCustomInteraction(){
  153. $('.ol-viewport').find('img').removeClass('active');
  154. changePanIcon1();
  155. changeLineIcon1();
  156. changeAreaIcon1();
  157. changeEraseIcon1();
  158. map.removeInteraction(lineDraw);
  159. map.removeInteraction(lineArea);
  160. }
  161. }
  162.  
  163.  
  164. function closeMap(){
  165. $('#map').remove();
  166. $('#mouse-position').remove();
  167. }
  168. function changePanIcon(){
  169. $('.imgPan').attr('src', 'css/img/pan.png');
  170. }
  171. function changePanIcon1(){
  172. if($('.imgPan').hasClass('active')){
  173. $('.imgPan').attr('src', 'css/img/pan.png');
  174. } else{
  175. $('.imgPan').attr('src', 'css/img/pan+.png');
  176. }
  177. }
  178. function changeLineIcon(){
  179. $('.imgLine').attr('src', 'css/img/length-measure_8411.ico')
  180. }
  181. function changeLineIcon1(){
  182. if($('.imgLine').hasClass('active')){
  183. $('.imgLine').attr('src', 'css/img/length-measure_8411.ico');
  184. } else{
  185. $('.imgLine').attr('src', 'css/img/length-measure_8411.png');
  186. }
  187. }
  188. function changeAreaIcon(){
  189. $('.imgArea').attr('src', 'css/img/area-measure_3056.ico')
  190. }
  191. function changeAreaIcon1(){
  192. if($('.imgArea').hasClass('active')){
  193. $('.imgArea').attr('src', 'css/img/area-measure_3056.ico');
  194. } else{
  195. $('.imgArea').attr('src', 'css/img/area-measure_3056.png');
  196. }
  197. }
  198. function changeEraseIcon(){
  199. $('.imgErase').attr('src', 'css/img/eraser+.png')
  200. }
  201. function changeEraseIcon1(){
  202. if($('.imgErase').hasClass('active')){
  203. $('.imgErase').attr('src', 'css/img/eraser+.png');
  204. } else{
  205. $('.imgErase').attr('src', 'css/img/eraser.png');
  206. }
  207. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement