yudhaez0212

Untitled

Sep 23rd, 2020
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.85 KB | None | 0 0
  1. <style type="text/css">
  2. #map,
  3. html,
  4. body {
  5. padding: 0;
  6. margin: 0;
  7. height: 100%;
  8. }
  9.  
  10. #panel {
  11. width: 200px;
  12. font-family: Arial, sans-serif;
  13. font-size: 13px;
  14. float: right;
  15. margin: 10px;
  16. }
  17.  
  18. #color-palette {
  19. clear: both;
  20. }
  21.  
  22. .color-button {
  23. width: 14px;
  24. height: 14px;
  25. font-size: 0;
  26. margin: 2px;
  27. float: left;
  28. cursor: pointer;
  29. }
  30.  
  31. #delete-button {
  32. margin-top: 5px;
  33. }
  34. </style>
  35.  
  36. <script src="http://maps.google.com/maps/api/js?libraries=drawing"></script>
  37.  
  38. <script
  39. src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBbf5LFmJzolZcbdS5u3Mkut_y_GqjaVjA&callback=initMap&libraries=drawing&v=weekly"
  40. defer></script>
  41.  
  42. <div id="panel">
  43. <div id="color-palette"></div>
  44. <div>
  45. <button id="delete-button">Delete Selected Shape</button>
  46.  
  47. Isi Kode LatLng :
  48. <button id="clipboard-btn" onclick="copyToClipboard(document.getElementById('info').value)">Copy to
  49. Clipboard</button>
  50. <textarea id="info"></textarea>
  51.  
  52.  
  53. Isi Kode Warna :
  54. <button id="clipboard-btn" onclick="copyToClipboard(document.getElementById('color').value)">Copy to
  55. Clipboard</button>
  56. <textarea id="color"></textarea>
  57.  
  58.  
  59. Kode myLatLng = new google.maps.LatLng:
  60. <button id="clipboard-btn" onclick="copyToClipboard(document.getElementById('infoV2').value)">Copy to
  61. Clipboard</button>
  62. <textarea cols="25" id="infoV2">new google.maps.LatLng(-5.494409, 104.623181);</textarea>
  63. </div>
  64. </div>
  65. <div id="map"></div>
  66. <script>
  67.  
  68. var drawingManager;
  69. var selectedShape;
  70. var colors = ['#1E90FF', '#FF1493', '#32CD32', '#FF8C00', '#4B0082'];
  71. var selectedColor;
  72. var colorButtons = {};
  73.  
  74. function clearSelection() {
  75. if (selectedShape) {
  76. selectedShape.setEditable(false);
  77. selectedShape = null;
  78. }
  79. }
  80.  
  81. function setSelection(shape) {
  82. clearSelection();
  83. selectedShape = shape;
  84. document.getElementById("info").value = selectedShape.getPath().getArray().map((item) => "new google.maps.LatLng" + item);
  85. document.getElementById("infoV2").value = selectedShape.getPath().getArray().map((item) => item);
  86. shape.setEditable(true);
  87. selectColor(shape.get('fillColor') || shape.get('strokeColor'));
  88. }
  89.  
  90. function deleteSelectedShape() {
  91. if (selectedShape) {
  92. selectedShape.setMap(null);
  93. }
  94. }
  95.  
  96. function selectColor(color) {
  97. selectedColor = color;
  98. document.getElementById("color").value = selectedColor;
  99. for (var i = 0; i < colors.length; ++i) {
  100. var currColor = colors[i];
  101. colorButtons[currColor].style.border = currColor == color ? '2px solid #789' : '2px solid #fff';
  102. }
  103.  
  104. // Retrieves the current options from the drawing manager and replaces the
  105. // stroke or fill color as appropriate.
  106. var polylineOptions = drawingManager.get('polylineOptions');
  107. polylineOptions.strokeColor = color;
  108. drawingManager.set('polylineOptions', polylineOptions);
  109.  
  110. var rectangleOptions = drawingManager.get('rectangleOptions');
  111. rectangleOptions.fillColor = color;
  112. drawingManager.set('rectangleOptions', rectangleOptions);
  113.  
  114. var circleOptions = drawingManager.get('circleOptions');
  115. circleOptions.fillColor = color;
  116. drawingManager.set('circleOptions', circleOptions);
  117.  
  118. var polygonOptions = drawingManager.get('polygonOptions');
  119. polygonOptions.fillColor = color;
  120. drawingManager.set('polygonOptions', polygonOptions);
  121. }
  122.  
  123. function setSelectedShapeColor(color) {
  124. if (selectedShape) {
  125. if (selectedShape.type == google.maps.drawing.OverlayType.POLYLINE) {
  126. selectedShape.set('strokeColor', color);
  127. } else {
  128. selectedShape.set('fillColor', color);
  129. }
  130. }
  131. }
  132.  
  133. function makeColorButton(color) {
  134. var button = document.createElement('span');
  135. button.className = 'color-button';
  136. button.style.backgroundColor = color;
  137. google.maps.event.addDomListener(button, 'click', function () {
  138. selectColor(color);
  139. setSelectedShapeColor(color);
  140. });
  141.  
  142. return button;
  143. }
  144.  
  145. function buildColorPalette() {
  146. var colorPalette = document.getElementById('color-palette');
  147. for (var i = 0; i < colors.length; ++i) {
  148. var currColor = colors[i];
  149. var colorButton = makeColorButton(currColor);
  150. colorPalette.appendChild(colorButton);
  151. colorButtons[currColor] = colorButton;
  152. }
  153. selectColor(colors[0]);
  154. }
  155. var map;
  156.  
  157. var infoWindow;
  158.  
  159. function initialize2() {
  160. var myLatLng = new google.maps.LatLng(-5.494409, 104.623181);
  161. var mapOptions = {
  162. zoom: 17,
  163. center: myLatLng,
  164. mapTypeId: google.maps.MapTypeId.TERRAIN
  165.  
  166. };
  167. map = new google.maps.Map(document.getElementById('map'), mapOptions);
  168.  
  169. var bermudaTriangle;
  170. var triangleCoords = [
  171. ];
  172. bermudaTriangle = new google.maps.Polygon({
  173. paths: triangleCoords,
  174. strokeColor: '#FF0000',
  175. strokeOpacity: 0.8,
  176. strokeWeight: 3,
  177. fillColor: '#FF0000',
  178. fillOpacity: 0.35
  179. });
  180. bermudaTriangle.setMap(map);
  181.  
  182. var polyOptions = {
  183. strokeWeight: 0,
  184. fillOpacity: 0.45,
  185. editable: true
  186. };
  187. // Creates a drawing manager attached to the map that allows the user to draw
  188. // markers, lines, and shapes.
  189. drawingManager = new google.maps.drawing.DrawingManager({
  190. drawingMode: google.maps.drawing.OverlayType.POLYGON,
  191. markerOptions: {
  192. draggable: true
  193. },
  194. polylineOptions: {
  195. editable: true
  196. },
  197. rectangleOptions: polyOptions,
  198. circleOptions: polyOptions,
  199. polygonOptions: polyOptions,
  200. map: map
  201. });
  202.  
  203. google.maps.event.addListener(drawingManager, 'overlaycomplete', function (e) {
  204. if (e.type != google.maps.drawing.OverlayType.MARKER) {
  205. // Switch back to non-drawing mode after drawing a shape.
  206. drawingManager.setDrawingMode(null);
  207.  
  208. // Add an event listener that selects the newly-drawn shape when the user
  209. // mouses down on it.
  210. var newShape = e.overlay;
  211. newShape.type = e.type;
  212. google.maps.event.addListener(newShape, 'click', function () {
  213. setSelection(newShape);
  214. });
  215. setSelection(newShape);
  216. }
  217. });
  218.  
  219. // Clear the current selection when the drawing mode is changed, or when the
  220. // map is clicked.
  221. google.maps.event.addListener(drawingManager, 'drawingmode_changed', clearSelection, getPolygonCoords);
  222. google.maps.event.addListener(map, 'click', clearSelection, getPolygonCoords);
  223. google.maps.event.addDomListener(document.getElementById('delete-button'), 'click', deleteSelectedShape);
  224.  
  225. buildColorPalette();
  226. }
  227. google.maps.event.addDomListener(window, 'load', initialize2);
  228.  
  229.  
  230.  
  231. //Display Coordinates below map
  232. function getPolygonCoords() {
  233. var len = myPolygon.getPath().getLength();
  234. var htmlStr = "";
  235. for (var i = 0; i < len; i++) {
  236. htmlStr += "new google.maps.LatLng(" + myPolygon.getPath().getAt(i).toUrlValue(5) + "), ";
  237. //Use this one instead if you want to get rid of the wrap > new google.maps.LatLng(),
  238. //htmlStr += "" + myPolygon.getPath().getAt(i).toUrlValue(5);
  239. }
  240. document.getElementById('info').innerHTML = htmlStr;
  241. }
  242.  
  243. function copyToClipboard(text) {
  244. window.prompt("Copy to clipboard: Ctrl+C, Enter", text);
  245. }
  246. </script>
Add Comment
Please, Sign In to add comment