1<!DOCTYPE html> 2<html lang="en"> 3<head> 4<meta charset="utf-8" /> 5<title>Calculate Area on Map, Google Maps Area Calculator</title> 6<meta name="description" content="Find the area of any simple shape on a map. Useful tool to find the approximate acreage or a tract of land, the square footage of a roof, or estimate of the area of something." /> 7<meta name="keywords" content="map, tool, free, tools, maps, google, measure, area, distance" /> 8<meta name="apple-touch-fullscreen" content="YES" /> 9<meta name="viewport" content="width=device-width, initial-scale=1.0" /> 10<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 11<meta name="google-site-verification" content="S2oL4rBBPmFBahLniBoZKkJlCmaYcnrLxGOIK-6RZBM" /> 12 13<meta name="robots" content="index,follow" /> 14<meta name="googlebot" content="index,follow" /><link rel="alternate" hreflang="x-default" href="https://www.calcmaps.com/map-area/"/> 15 <link rel="alternate" hreflang="en" href="https://www.calcmaps.com/map-area/"/> 16 <link rel="alternate" hreflang="de" href="https://www.calcmaps.com/de/map-area/"/> 17 <link rel="alternate" hreflang="fr" href="https://www.calcmaps.com/fr/map-area/"/> 18 <link rel="alternate" hreflang="es" href="https://www.calcmaps.com/es/map-area/"/> 19 <link rel="alternate" hreflang="pt" href="https://www.calcmaps.com/pt/map-area/"/> 20 <link rel="alternate" hreflang="it" href="https://www.calcmaps.com/it/map-area/"/> 21 <link rel="alternate" hreflang="nl" href="https://www.calcmaps.com/nl/map-area/"/> 22 <link rel="alternate" hreflang="sv" href="https://www.calcmaps.com/sv/map-area/"/> 23 <link rel="alternate" hreflang="ro" href="https://www.calcmaps.com/ro/map-area/"/> 24 <link rel="alternate" hreflang="pl" href="https://www.calcmaps.com/pl/map-area/"/> 25 <link rel="alternate" hreflang="ru" href="https://www.calcmaps.com/ru/map-area/"/> 26 <link rel="alternate" hreflang="tr" href="https://www.calcmaps.com/tr/map-area/"/> 27 <!-- OPEN GRAPH --> 28<meta property="og:title" content="Calculate Area on Map, Google Maps Area Calculator"/> 29<meta property="og:type" content="website"/> 30<meta property="og:url" content="https://www.calcmaps.com/map-area/"/> 31<meta property="og:image" content="https://www.calcmaps.com/css/i/map-area.jpg"/> 32<meta property="og:site_name" content="CalcMaps"/> 33<meta property="og:description" content="Find the area of any simple shape on a map. Useful tool to find the approximate acreage or a tract of land, the square footage of a roof, or estimate of the area of something."/> 34<meta property="twitter:card" content="summary_large_image"/> 35<meta property="twitter:image:src" content="https://www.calcmaps.com/css/i/map-area.jpg"/> 36<meta property="twitter:url" content="https://www.calcmaps.com/map-area/"/> 37<meta property="twitter:title" content="Calculate Area on Map, Google Maps Area Calculator"/> 38<meta property="twitter:description" content="Find the area of any simple shape on a map. Useful tool to find the approximate acreage or a tract of land, the square footage of a roof, or estimate of the area of something."/> 39<meta name="msapplication-TileColor" content="#ffffff"> 40<meta name="msapplication-TileImage" content="https://www.calcmaps.com/css/i/ico/ms-icon-144x144.png?v=2"> 41<link rel="icon" href="https://www.calcmaps.com/css/i/ico/favicon.svg?v=2" type="image/svg+xml" sizes="any" /> 42<link rel="shortcut icon" href="https://www.calcmaps.com/css/i/ico/favicon.ico?v=2" /> 43<link rel="icon" href="https://www.calcmaps.com/css/i/ico/favicon.ico?v=2" type="image/x-icon" /> 44<link rel="apple-touch-icon" sizes="57x57" href="https://www.calcmaps.com/css/i/ico/apple-icon-57x57.png?v=2"> 45<link rel="apple-touch-icon" sizes="60x60" href="https://www.calcmaps.com/css/i/ico/apple-icon-60x60.png?v=2"> 46<link rel="apple-touch-icon" sizes="72x72" href="https://www.calcmaps.com/css/i/ico/apple-icon-72x72.png?v=2"> 47<link rel="apple-touch-icon" sizes="76x76" href="https://www.calcmaps.com/css/i/ico/apple-icon-76x76.png?v=2"> 48<link rel="apple-touch-icon" sizes="114x114" href="https://www.calcmaps.com/css/i/ico/
48apple-icon-114x114.png?v=2"> 49<link rel="apple-touch-icon" sizes="120x120" href="https://www.calcmaps.com/css/i/ico/apple-icon-120x120.png?v=2"> 50<link rel="apple-touch-icon" sizes="144x144" href="https://www.calcmaps.com/css/i/ico/apple-icon-144x144.png?v=2"> 51<link rel="apple-touch-icon" sizes="152x152" href="https://www.calcmaps.com/css/i/ico/apple-icon-152x152.png?v=2"> 52<link rel="apple-touch-icon" sizes="180x180" href="https://www.calcmaps.com/css/i/ico/apple-icon-180x180.png?v=2"> 53<link rel="icon" type="image/png" sizes="192x192" href="https://www.calcmaps.com/css/i/ico/android-icon-192x192.png?v=2"> 54<link rel="icon" sizes="192x192" href="https://www.calcmaps.com/css/i/logo_192.png?v=2"> 55<link rel="icon" type="image/png" sizes="32x32" href="https://www.calcmaps.com/css/i/ico/favicon-32x32.png?v=2"> 56<link rel="icon" type="image/png" sizes="96x96" href="https://www.calcmaps.com/css/i/ico/favicon-96x96.png?v=2"> 57<link rel="icon" type="image/png" sizes="16x16" href="https://www.calcmaps.com/css/i/ico/favicon-16x16.png?v=2"> 58 59
59<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9757282942634037" crossorigin="anonymous"></script>
59 60<!-- STYLES --> 61<link rel="preload" href="https://www.calcmaps.com/css/fonts/plus-jakarta-sans-v12-latin-regular.woff2" as="font" type="font/woff2" crossorigin> 62<link rel="preload" href="https://www.calcmaps.com/css/fonts/plus-jakarta-sans-v12-latin-500.woff2" as="font" type="font/woff2" crossorigin> 63<link rel="preload" href="https://www.calcmaps.com/css/fonts/plus-jakarta-sans-v12-latin-600.woff2" as="font" type="font/woff2" crossorigin> 64<link href="https://www.calcmaps.com/css/styles_min.css?v=52" rel="stylesheet" /> 65<!-- SCRIPTS -->
66<script src="https://www.calcmaps.com/js/scripts.js?v=52"></script>
vendor: 1 bytes, line 66
66
67<script> 68 var inside_iframe = (window.self !== window.top); 69</script>
69 70</head><body class="map-area"> 71<!-- HEADER --> 72<header> 73<div class="nav navbar navbar-default navbar-fixed-top nav-top"> 74 <div class="container nav_container pl10 pr10"> 75 <div class="col-xs-3 header-col brand-col"> 76 <a class="navbar-brand logo_custom" href="https://www.calcmaps.com/" title="CalcMaps"><img width="30" height="30" src="https://www.calcmaps.com/css/i/logo.svg" alt="CalcMaps"><strong>CalcMaps</strong></a> 77 </div> 78 <button type="button" class="navbar-toggle mt5 mr5 collapsed" data-toggle="collapse" data-target=".navbar-collapse" onclick="trackClickEvent('mobile_menu','click_menu')"> 79 <span class="sr-only">Menu</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span> 80 <span id="nabvar_label_menu">MENU</span> 81 </button> 82 <div id="select_lang_div" data-toggle="modal" data-target="#lang-modal"> 83 <span id="nav_choose_lang_modal"><span id="select_lang_span">Language</span> [EN]</span> 84 </div> 85 <div class="col-xs-12 collapse navbar-collapse"> 86 <ul id="navigation" class="nav navbar-nav"> 87 <li class="nav-map-links active "><a href="https://www.calcmaps.com/map-area/" title="Calculate area on Map">Map area</a></li> 88 <li class="nav-map-links "><a href="https://www.calcmaps.com/map-radius/" title="Measure Radius on Map">Radius</a></li> 89 <li class="nav-map-links "><a href="https://www.calcmaps.com/map-distance/" title="Calculate distance on Map">Distance</a></li> 90 <li class="nav-map-links "><a href="https://www.calcmaps.com/map-elevation/" title="Calculate elevation on Map">Elevation</a></li> 91 <li class="nav-map-links "><a href="https://www.calcmaps.com/map-isodistance/" title="Map Isodistances by Travel Distance">Isodistances</a></li> 92 <li class="nav-map-links "><a href="https://www.calcmaps.com/map-isochrone/" title="Generate Isochrone Map">Isochrones</a></li> 93 <li class="nav-map-links "><a href="https://www.calcmaps.com/map-coordinates/" title="Get Coordinates on Map">Coordinates</a></li> 94 <li class="cmapspro_link_nav_li"><a target="_blank" href="https://calcmapspro.com/howitworks/?utm_source=calcmaps&utm_medium=referral&utm_campaign=navbar" class="cmapspro_link_nav" title="Calcmaps PRO"><span class="link_nav">PRO</span></a></li> </ul> 95 </div> 96 </div> 97</div></header> 98<!-- END HEADER -->
99<script> 100 var country_code = ''; 101 var country_name = ''; 102 var country_lat = ''; 103 var country_lng = ''; 104 var country_zoom = 2; 105 var country_coords = {lat: Number(country_lat), lng: Number(country_lng)}; 106 var basemap_in_use = 0; 107 var use_geocode_for_search = '1'; 108 var is_imperial = (country_code == 'US' || country_code == 'GB' ? true : false); 109 const lang_location_not_found = "Location not found"; 110 const lang_error_try_later = "An error has occurred, please try again later"; 111 const lang_select_distance = "Select Distance"; 112 const lang_alert_select_distance = "Please select distance"; 113 const lang_select_travel_time = "Select Travel Time"; 114 const lang_alert_select_travel_time = "Please select travel time"; 115 const lang_fail_get_iso = "Unable to generate the requested area. Try selecting a different location on the map."; 116 const lang_please_wait = "Please wait"; 117 const lang_mode_by_car = "By car"; 118 const lang_mode_on_foot = "On foot"; 119 const lang_distance = "Distance"; 120 const lang_coordinates = "Coordinates"; 121 const lang_elevation = "Elevation"; 122 const lang_elevation_tip = "Click on the map to view the elevation of a point or location. You can also keep clicking along the map to build your elevation profile. You can remove the last point or clear all points to restart."; 123 const lang_meters = "Meters"; 124 const lang_feet = "Feet"; 125 const lang_copy = "Copy"; 126 const lang_share = "Share"; 127 const lang_cancel = "Cancel"; 128 const lang_clear_all = "Clear All"; 129 const lang_resize_or_move = "Resize or Move"; 130 const lang_click_to_remove = "Click to remove"; 131 const lang_click_ok_when_finished = "Click OK when finished"; 132 const lang_release_mouse_to_finish_drawing = "Release mouse to finish drawing"; 133 const lang_click_and_drag_to_draw_circle = "Click and drag to draw"; 134 const lang_radius = "Radius"; 135 const lang_draw_a_circle = "Draw a Circle"; 136 const lang_clear_last_point = "Clear Last Point"; 137 const lang_circle_area = "Circle Area"; 138 const lang_alert_no_path_gpx = "Please create a path by clicking on the map to add points, then export it as a GPX file"; 139 const lang_gpx_downloaded_successfully = "GPX downloaded successfully!"; 140 const lang_import_gpx_warning = "Importing this GPX file will clear all current data from the map. Do you want to continue?"; 141 const lang_alert_max_gpx_size = "The file is too big. Maximum allowed size is 1MB."; 142</script>
142 143<!-- PAGE --> 144<div id="page" class="container"> 145<section id="page-content"> 146 <link rel="stylesheet" href="https://www.calcmaps.com/css/leaflet/leaflet_min.css?v=52"> 147
147<script src="https://www.calcmaps.com/js/leaflet/leaflet.js?v=52"></script>
147 148
148<script src="https://www.calcmaps.com/js/leaflet/leaflet.draw.min.js?v=52"></script>
148 149
149<script src="https://www.calcmaps.com/js/leaflet/maplibre-gl.js?v=52"></script>
149 150
150<script src="https://www.calcmaps.com/js/leaflet/leaflet-maplibre-gl.js?v=52"></script>
vendor: 1 bytes, line 150
150
151<script> 152 var js_dir = "https://www.calcmaps.com/"; 153 var map; 154 var marker = null; 155 var polyPoints = []; 156 var searchControl, results; 157 var polyline, Icon; 158 var polygon; 159 var iso_polygon = null; 160 var clickCount = 0; 161 var latlng1 = null; 162 var latlng2 = null; 163 var markers = []; 164 var searchMarker = null; 165 var opacity = 1; 166 var shellArr = []; 167 var nl = "\n"; 168 var wholink = ""; 169 var mapLang = 'en-EN'; 170 const vector_tiles_server = [ 171 "https://t-tiles-ts-eu-ht2.b-cdn.net/data/v3/{z}/{x}/{y}.pbf?s=TS-EU-HT2&key=1b48259b810e","https://t-tiles-ts-eu-ht2.b-cdn.net/data/v3/{z}/{x}/{y}.pbf?s=TS-EU-HT2&key=1b48259b810e","https://t-tiles-ts-eu-ht2.b-cdn.net/data/v3/{z}/{x}/{y}.pbf?s=TS-EU-HT2&key=1b48259b810e", 172 ]; 173 const sat_tiles_server = [ 174 "https://dbt1zjijstpy3.cloudfront.net/{z}/{y}/{x}","https://dbt1zjijstpy3.cloudfront.net/{z}/{y}/{x}","https://dbt1zjijstpy3.cloudfront.net/{z}/{y}/{x}", 175 ]; 176 const sat_bluemarble_tiles_server = [ 177 "https://t-sat-uk1.calcxyz.com/sat/satellitefiles/bluemarble/{z}/{x}/{y}.png","https://t-sat-uk1.calcxyz.com/sat/satellitefiles/bluemarble/{z}/{x}/{y}.png","https://t-sat-uk1.calcxyz.com/sat/satellitefiles/bluemarble/{z}/{x}/{y}.png", 178 ]; 179 const sat_tiles_server_0_13 = [ 180 "https://t-sat-uk1.calcxyz.com/sat/satellitefiles/{z}/{x}/{y}.jpg","https://t-sat-uk1.calcxyz.com/sat/satellitefiles/{z}/{x}/{y}.jpg","https://t-sat-uk1.calcxyz.com/sat/satellitefiles/{z}/{x}/{y}.jpg", 181 ]; 182 const opencycle_tiles_server = [ 183 "https://d2uavi3d63jzri.cloudfront.net/{z}/{x}/{y}.png","https://d24rkvf4vp68rj.cloudfront.net/{z}/{x}/{y}.png","https://dsgr4yql9e2r1.cloudfront.net/{z}/{x}/{y}.png" 184 ]; 185</script>
vendor: 1 bytes, line 185
185
186<script src="https://www.calcmaps.com/js/leaflet/map_style_min.js?v=52"></script>
vendor: 1 bytes, line 186
186
187<script> 188 function load_basemaps() { 189 190 var bounds = new L.LatLngBounds(new L.LatLng(-360, -360), new L.LatLng(360, 360)); 191 192 map = L.map("map", 193 { 194 center: [start_lat, start_lng], 195 zoom: start_zoom, 196 minZoom: (L.Browser.mobile ? 1 : 2), 197 maxZoom: 19, 198 maxBounds: bounds, 199 zoomSnap: 0.5, 200 zoomDelta: 0.5, 201 gestureHandling: L.Browser.mobile 202 203 }); 204 L.DomUtil.addClass(map._container, "crosshair-cursor-enabled"); 205 206 var base_map = L.maplibreGL({ 207 style: basemap_nav_style, 208 preserveDrawingBuffer: true, 209 attribution: '<a href="https://www.openstreetmap.org/copyright" target="_blank">© OpenStreetMap</a> contributors' 210 }); 211 212 var sat_map = L.maplibreGL({ 213 style: basemap_satellite_style, 214 preserveDrawingBuffer: true, 215 attribution: 'Esri, DigitalGlobe, GeoEye, i-cubed, Earthstar Geographics, CNES/Airbus DS, USDA, USGS, AEX, Getmapping, Aerogrid, IGN, IGP, swisstopo, and the GIS User Community' 216 }); 217 218 var osm_map = L.maplibreGL({ 219 style: basemap_osm_style, 220 preserveDrawingBuffer: true, 221 attribution: '<a href="https://www.openstreetmap.org/copyright" target="_blank">© OpenStreetMap</a> contributors' 222 }); 223 224 var topo_map = L.maplibreGL({ 225 style: basemap_opentopo_style, 226 preserveDrawingBuffer: true, 227 attribution: '<a href="https://openstreetmap.org/copyright" target="_blank">OpenStreetMap</a>-Mitwirkende, SRTM | Kartendarstellung: © <a href="http://opentopomap.org/" target="_blank">OpenTopoMap</a>' 228 }); 229 230 var cycle_map = L.maplibreGL({ 231 style: basemap_opencycle_style, 232 preserveDrawingBuffer: true, 233 attribution: '<a href="https://openstreetmap.org/copyright" target="_blank">OpenStreetMap</a>-Mitwirkende, SRTM | Kartendarstellung: © <a href="http://opentopomap.org/" target="_blank">OpenTopoMap</a>' 234 }); 235 236 var BingLayer = L.TileLayer.extend({getTileUrl:function(e){return L.Util.template(this._url,{s:this._getSubdomain(e),q:this._quadKey(e.x,e.y,this._getZoomForUrl())})},_quadKey:function(e,t,r){for(var i=[],n=r;n>0;n--){var a="0",u=1<<n-1;(e&u)!=0&&a++,(t&u)!=0&&(a++,a++),i.push(a)}return i.join("")}}); 237 var bing_map = new BingLayer('https://ecn.t{s}.tiles.virtualearth.net/tiles/r{q}?g=671&mkt='+mapLang+'&lbl=l1&stl=h&ur='+country_code, { 238 subdomains: ['0', '1', '2', '3'], 239 maxZoom: 19, 240 attribution: '© <a href="http://bing.com/maps" target="_blank">Bing Maps</a> | <a href="https://www.microsoft.com/en-us/maps/product" target="_blank">Terms of use</a>' 241 }); 242 243 map.attributionControl.setPrefix('© CalcMaps'); 244 245 // start basemap 246 if (get_cookie('last_basemap')) { 247 if (get_cookie('last_basemap') == 1) { 248 base_map.addTo(map); 249 basemap_in_use = 1; 250 } else if (get_cookie('last_basemap') == 2) { 251 sat_map.addTo(map); 252 basemap_in_use = 2; 253 } else if (get_cookie('last_basemap') == 3) { 254 osm_map.addTo(map); 255 basemap_in_use = 3; 256 } else if (get_cookie('last_basemap') == 4) { 257 topo_map.addTo(map); 258 basemap_in_use = 4; 259 } else if (get_cookie('last_basemap') == 5) { 260 cycle_map.addTo(map); 261 basemap_in_use = 5; 262 } else if (get_cookie('last_basemap') == 15) { 263 bing_map.addTo(map); 264 basemap_in_use = 15; 265 } else { 266 bing_map.addTo(map); 267 basemap_in_use = 1; 268 } 269 } else { 270 271 // default on start 272 base_map.addTo(map); 273 basemap_in_use = 1; 274 } 275 const baseMaps = { 276 "Navigation": base_map, 277 "Satellite": sat_map, 278 "Street": osm_map, 279 "Topografic" : topo_map, 280 "OpenCycle" : cycle_map, 281 "BingMap" : bing_map, 282 }; 283 284 map.on('baselayerchange', function(e) { 285 286 $('.leaflet-control-layers').removeClass('leaflet-control-layers-expanded'); // force close 287 288 if (e.name == 'Satellite') { 289 basemap_in_use = 2; 290 set_cookie('last_basemap', 2, 10); 291 292 } else if (e.name == 'Street') { 293 basemap_in_use = 3; 294 set_cookie('last_basemap', 3, 10); 295 296 } else if (e.name == 'Topografic') { 297 basemap_in_use = 4; 298 set_cookie('last_basemap', 4, 10); 299 300 } else if (e.name == 'OpenCycle') { 301 basemap_in_use = 5; 302 set_cookie('last_basemap', 5, 10); 303 } else if (e.name == 'BingMap') { 304 basemap_in_use = 15; 305 set_cookie('last_basemap', 15, 10); 306 } else { 307 basemap_in_use = 1; 308 set_cookie('last_basemap', 1, 10); 309 } 310 trackClickEvent('change_basemap', e.name); 311 }); 312 313 map.on('moveend', function(e) { 314 if (e.target.getCenter().lat != 'undefined' && e.target.getCenter().lng != 'undefined') { 315 set_cookie('last_lat', e.target.getCenter().lat, 10); 316 set_cookie('last_lng', e.target.getCenter().lng, 10); 317 } 318 319 if (e.target.getZoom() != 'undefined') { 320 set_cookie('last_zoom', e.target.getZoom(), 10); 321 } 322 }); 323 324 map.on('zoomend', function(e) { 325 if (e.target.getZoom() != 'undefined') { 326 set_cookie('last_zoom', e.target.getZoom(), 10); 327 } 328 }); 329 330 var overlays = { 331 // add any overlays here 332 }; 333 334 L.control.layers(baseMaps, overlays, {position: 'topright'}).addTo(map); 335 336 L.layerGroup().addTo(map); 337 338 // scale 339 var scale_options = { 340 position:'bottomright', 341 imperial: is_imperial 342 }; 343 344 L.control.scale(scale_options).addTo(map); 345 346 // replace leaflet '#' 347 map.whenReady(function() { 348 document.querySelectorAll('.leaflet-control a[href="#"]').forEach(function(el) { 349 el.removeAttribute('href'); 350 el.setAttribute('role', 'button'); 351 el.style.cursor = 'pointer'; 352 }); 353 }); 354 } 355 356 function removeLastPoint() { 357 clearLastMarker(); 358 } 359 360 function clearMap() { 361 newCalc(); 362 } 363</script>
363 364<style> 365 .leaflet-container.crosshair-cursor-enabled {cursor:crosshair;} 366 .leaflet-tile-container img {width: 256.8px !important;height: 256.8px !important;} 367 .leaflet-control-easyPrint, .leaflet-control-easyPrint-button, .leaflet-control-easyPrint-button-export {display: none!important;} 368</style><div class="row mt10 mb5 cb ml15 mr15" style="min-height:90px;"><div class="banner_responsive"><!-- CMAPS_RESPONSIVE_TOP --> 369 <ins class="adsbygoogle" 370 style="display:block" 371 data-ad-client="ca-pub-9757282942634037" 372 data-ad-slot="9991530151" 373 data-ad-format="horizontal" 374 data-full-width-responsive="false"></ins> 375
375<script> 376 (adsbygoogle = window.adsbygoogle || []).push({}); 377 </script>
377</div></div><div class="col-md-10"><div class="row mt0"> 378 <div class="col-md-12 content-col tpl-content-col"> 379 <h1 class="page-title ml5">Map Area Calculator</h1> 380 <div class="top-map-info"> 381 <div class="col-md-6 p0"> 382 <div class="col-md-12 p0"> 383 <div class="col-md-12 p0"> 384 <div id="search_group_div" class="input-group"> 385 <input type="text" class="form-control" size="30" id="addressInput" name="address" placeholder="Enter an address" autocomplete="on"/> 386 <span class="input-group-btn"> 387 <button id="addressSearchButton" type="submit" class="btn btn-primary" onclick="trackClickEvent('btn_search','click_button');preventSearchClicks(this);showAddress(document.getElementById('addressInput').value);">Search</button> 388 </span> 389 </div> 390 <div class="col-md-12 p0"> 391 <div class="btn-group btn-group-sm mt5 mb3" role="group" id="map_top_btn_group"> 392<button type="button" class="btn btn-default" onclick="clearMap();">Clear All</button><button type="button" class="btn btn-default" onclick="removeLastPoint();">Clear Last Point</button></div> 393<button id="btn-save-results" class="btn btn-default btn-sm ml5" onclick="saveResultsAreaDistance()">Share<span class="hidden767"> Area</span></button> </div> 394 </div> 395 </div> 396</div> <div class="col-md-6 no-padding-991" id="status"> 397 <b>Area:</b> -- 398 </div> 399 </div> 400 <div id="map_area"> 401 <div id="map_canvas"><div id="map"></div></div> 402 </div> 403
403<script> 404 function print_map_img(export_only = true, filename = '') { 405 406 trackClickEvent('btn_print_click', (export_only ? 'download' : 'print')); 407 408 $("#print_map_img, #dwn_map_img").addClass('disabled'); 409 410 let format = 'png'; // or jpeg 411 412 filename = filename ? filename.replace(/\s+/g, '-') : 'calcmaps-map-area-104037-24092026'; 413 414 let file_type = 'image/' + format; // "image/png" 415 416 const captureElement = document.querySelector('#map_canvas'); 417 418 if (!captureElement || !map || typeof L.easyPrint == 'undefined') { 419 console.log('error print...'); 420 $("#print_map_img, #dwn_map_img").removeClass('disabled'); 421 return; 422 } 423 424 // text info and hide elements 425 try { 426 let status_text = $('#status').length ? $('#status').html() : ''; 427 status_text+= $('#status2').length ? $('#status2').html() : ''; 428 429 if (url_dir == 'map-elevation') { 430 status_text = lang_elevation; 431 } 432 433 // keep attribution except for satellite 434 if (basemap_in_use == 2) { 435 436 $('.leaflet-control').hide(); 437 } else { 438 439 $('.leaflet-control').hide().filter('.leaflet-control-attribution').show(); 440 } 441 442 L.Control.textbox = L.Control.extend({ 443 onAdd: function(map) { 444 var info_text = L.DomUtil.create('div'); 445 info_text.id = "info_text"; 446 info_text.innerHTML = '<p><b>calcmaps.com</b><br>' + status_text + '</p>' 447 return info_text; 448 } 449 }); 450 451 L.control.textbox = function(opts) { 452 return new L.Control.textbox(opts); 453 } 454 L.control.textbox({ position: 'topleft' }).addTo(map); 455 456 } catch (e) {} 457 458 // set the printer to allow print/download 459 map.printControl = L.easyPrint({ 460 title: 'Print', 461 position: 'topleft', 462 sizeModes: ['CurrentSize'], 463 filename: 'calcmaps_img_', 464 exportOnly: export_only ? true : false, 465 hideControlContainer: false 466 }).addTo(map); 467 468 const container = document.getElementById('map_canvas'); 469 const glCanvas = container.querySelector('.maplibregl-canvas'); 470 471 if (!glCanvas) { 472 console.log('MapLibre canvas not found'); 473 $('#info_text').remove(); 474 $('.leaflet-control').show(); 475 $("#print_map_img, #dwn_map_img").removeClass('disabled'); 476 trackClickEvent('button_print', 'fail_print'); 477 return; 478 } 479 480 // get image from MapLibre canvas 481 const mapImage = glCanvas.toDataURL('image/png'); 482 483 // create temporary background image 484 const img = new Image(); 485 img.src = mapImage; 486 img.style.position = 'absolute'; 487 img.style.top = '0'; 488 img.style.left = '0'; 489 img.style.width = '100%'; 490 img.style.height = '100%'; 491 img.style.zIndex = '-1'; // ensure it stays behind Leaflet overlays 492 493 // inject image temporarily in the container 494 container.insertBefore(img, container.firstChild); 495 496 // trigger easyPrint (delayed to ensure image is rendered) 497 setTimeout(() => { 498 map.printControl.printMap('CurrentSize', filename); 499 500 // remove the injected image after print 501 setTimeout(() => { 502 if (img.parentNode) { 503 img.parentNode.removeChild(img); 504 } 505 506 $('#info_text').remove(); 507 $('.leaflet-control').show(); 508 509 }, 2000); // delay to allow print popup to render 510 }, 300); 511 512 // track and set buttons active again 513 setTimeout(() => { 514 $("#print_map_img, #dwn_map_img").removeClass('disabled'); 515 trackClickEvent('button_print', (export_only ? 'download_map' : 'print_map')); 516 }, 2500); 517 } 518</script>
518 519<div class="row rounded5" style="background:#6ac6ef21"><div class="col-md-12 p0"><p class="tac fs16" style="padding:10px 10px 0px 10px;">Plan areas, routes, create delivery zones and export your maps in seconds. Import your data, analyze locations and save everything for later!<br><a target="_blank" href="https://calcmapspro.com/register/?utm_source=calcmaps&utm_medium=referral&utm_campaign=map-area" class="btn btn-primary mt10 pl20 pr20 cmapspro_link_text" style="border-radius:30px;"">Start planning smarter Maps</a></p></div></div><div class="row rounded5 p10" style="background:#f5f5f5"><div class="col-lg-12 p0" id="buttons_map_bottom_block"> <button id="print_map_img" class="btn btn-sm btn-default rounded5 mr5 mt0 mb10_767" onclick="print_map_img(false)"><svg fill="currentColor" height="16" width="16" viewBox="0 0 24 24" class="mr5"><path d="M19 8C20.66 8 22 9.34 22 11V17H18V21H6V17H2V11C2 9.34 3.34 8 5 8H6V3H18V8H19M8 5V8H16V5H8M16 19V15H8V19H16M18 15H20V11C20 10.45 19.55 10 19 10H5C4.45 10 4 10.45 4 11V15H6V13H18V15M19 11.5C19 12.05 18.55 12.5 18 12.5C17.45 12.5 17 12.05 17 11.5C17 10.95 17.45 10.5 18 10.5C18.55 10.5 19 10.95 19 11.5Z"></path></svg>Print map</button> 520 <button id="dwn_map_img" class="btn btn-sm btn-default rounded5 mr5 mt0 mb10_767" onclick="print_map_img(true)">
520<svg fill="currentColor" height="16" width="16" viewBox="0 0 24 24" class="mr5"><path d="M9,3L3.36,4.9C3.15,4.97 3,5.15 3,5.38V20.5A0.5,0.5 0 0,0 3.5,21L3.66,20.97L9,18.9L15,21L20.64,19.1C20.85,19.03 21,18.85 21,18.62V3.5A0.5,0.5 0 0,0 20.5,3L20.34,3.03L15,5.1L9,3M8,5.45V17.15L5,18.31V6.46L8,5.45M10,5.47L14,6.87V18.53L10,17.13V5.47M19,5.7V17.54L16,18.55V6.86L19,5.7M7.46,6.3L5.57,6.97V9.12L7.46,8.45V6.3M7.46,9.05L5.57,9.72V11.87L7.46,11.2V9.05M7.46,11.8L5.57,12.47V14.62L7.46,13.95V11.8M7.46,14.55L5.57,15.22V17.37L7.46,16.7V14.55Z"></path></svg>Download map</button> 521</div></div> <div id="map_notes"> 522 <p><b>Note:</b> Zoom in, or enter the address of your target start point. Then click on your start point on the map, followed by all the subsequent points along the outside edge of the shape you want to calculate the area of. As you add points the area will be updated below and converted into several measurements.</p> 523 </div> 524 <div id="shorturl-modal" class="modal fade" role="dialog"> 525 <div class="modal-dialog" role="document"> 526 <div class="modal-content"> 527 <div class="modal-header"> 528 <button type="button" class="close" data-dismiss="modal">×</button> 529 <h4 class="modal-title tac fs25">Share using this link</h4> 530 </div> 531 <div class="modal-body tac"> 532 <span id="saved_short_url" class="fs15 bold"></span> 533 </div><br class="cb"> 534 <div class="modal-footer tac"> 535 <div id="saved_short_url_alert_text" class="alert alert-success" role="alert"></div> 536 <button type="button" class="btn btn-info rounded5" id="btn_copy" data-clipboard-action="copy" data-clipboard-target="#saved_short_url">Copy link</button> 537 <br><button id="mobile_native_share" type="button" class="btn btn-info rounded5" data-dismiss="modal">Share</button> 538 <div id="default_social_share"> 539 </div> 540 </div> 541 </div> 542 </div> 543</div>
544<script> 545 var points_text_array = ''; 546 var clipboard = new ClipboardJS('#btn_copy'); 547 clipboard.on('success', function(e) { 548 $('#saved_short_url_alert_text').html('Copied! Now you can Share or Save this link.').show(); 549 trackClickEvent('button_copy_clipboard', (url_dir == 'map-area' ? 'copy_link_area' : 'copy_link_distance')); 550 }); 551 552 var share_link_id = 0; 553 var share_link_url = ''; 554 555 $('#mobile_native_share').click(function(e) { 556 if (navigator.share && share_link_url) { 557 navigator.share({ 558 title: 'CALCMAPS - Map Tools', 559 url: share_link_url, 560 }); 561 } else { 562 $('#default_social_share').show(); 563 } 564 trackClickEvent('button_navigator_share', (url_dir == 'map-area' ? 'navigator_share_area' : 'navigator_share_distance')); 565 }); 566 567 function saveResultsAreaDistance() { 568 $('#saved_short_url_alert_text').hide(); 569 if (navigator.share) { 570 $('#mobile_native_share').show(); 571 } 572 var url_to_short = points_text_array; 573 $('#saved_short_url_alert_text').html(''); 574 575 if (url_to_short) { 576 $.ajax({ 577 cache: false, 578 timeout: 1000000, 579 type: "POST", 580 contentType: "application/x-www-form-urlencoded;charset=utf-8", 581 url: basepath + 'ajax.php?op=shorturl', 582 data: { 583 page_op : lang_op, 584 basemap : basemap_in_use, 585 page_data: url_to_short, 586 id: share_link_id 587 }, 588 success: function (data) { 589 data = JSON.parse(data); 590 if (data.status == 'OK') { 591 if (share_link_id == 0 && data.shorturl != undefined) { 592 share_link_id = data.id; 593 share_link_url = basepath + lang_op + '/' + data.shorturl + '/'; 594 $('#saved_short_url').html(share_link_url); 595 } 596 } else { 597 $('#saved_short_url').html('An error has occurred, please try again later'); 598 } 599 } 600 }); 601 trackClickEvent('button_save_results', (url_dir == 'map-area' ? 'save_results_area' : 'save_results_distance')); 602 $('#shorturl-modal').modal('toggle'); 603 } 604 } 605</script>
605 606 </div> 607</div>
608<script> 609 document.addEventListener('DOMContentLoaded', myMapLoad); 610 611 function createPolygon(shellArr) { 612 return { 613 type: 'Feature', 614 geometry: { 615 type: 'Polygon', 616 coordinates: shellArr 617 }, 618 properties: {} 619 }; 620 } 621 622 function calculatePolygonArea(polygon) { 623 var coords = polygon.geometry.coordinates[0]; 624 var area = 0; 625 626 if (coords.length < 3) { 627 return 0; 628 } 629 630 for (var i = 0, j = coords.length - 1; i < coords.length; j = i++) { 631 var xi = coords[i][0] * Math.PI / 180; 632 var yi = coords[i][1] * Math.PI / 180; 633 var xj = coords[j][0] * Math.PI / 180; 634 var yj = coords[j][1] * Math.PI / 180; 635 636 area += (xj - xi) * (2 + Math.sin(yi) + Math.sin(yj)); 637 } 638 639 area = area * 6378137 * 6378137 / 2; // raio da Terra em metros (WGS84) 640 return Math.abs(area); 641 } 642 643 function printResult() { 644 //var polygon = turf.polygon(shellArr); 645 //var area = turf.area(polygon); 646 647 var polygon = createPolygon(shellArr); 648 var area = calculatePolygonArea(polygon); 649 650 area = Math.ceil(area); 651 Ain2 = Math.round(area / 0.00064516 * 100) / 100; 652 Akm2 = Math.round(area / 10000) / 100; 653 Ami2 = Math.round(area / 10000 / 2.589988110336) / 100; 654 Aft2 = Math.round(area / 0.09290304 * 100) / 100; 655 Aacre = Math.round((area / 4046.8564224) * 100) / 100; 656 Aha = Math.round((area / 10000) * 100) / 100 657 658 var distance = calculateDistance(); 659 var c = "<b>Area:</b> " 660 + area + " m<sup>2</sup> | " 661 + Aha + " ha | " 662 + Akm2 + " km<sup>2</sup>" 663 + " | " + Ami2 + " mi<sup>2</sup> | " + Aft2 + " ft<sup>2</sup> | " + Aacre + " ac " 664 + "<br/><b>Perimeter:</b> " + distance; 665 666 document.getElementById('status').innerHTML = c; 667 $('#btn-save-results').show(); 668 } 669 670 function showMarkers() { 671 var c = document.getElementById("idShowMarkers").checked; 672 var b = markers.length; 673 if (c) { 674 opacity = 1; 675 for (var a = 0; a < b; a++) { 676 markers[a].setOpacity(opacity) 677 } 678 } else { 679 opacity = 0; 680 for (var a = 0; a < b; a++) { 681 markers[a].setOpacity(opacity) 682 } 683 } 684 } 685 686 function checkFormatDDD(f) { 687 var e = f.length; 688 if (e < 7) { 689 return false 690 } 691 var g = 0; 692 var a = 0; 693 var d = 0; 694 for (var b = 0; b < e; b++) { 695 if (f[b] == ".") { 696 a++; 697 continue 698 } 699 if (f[b] == ",") { 700 g++; 701 continue 702 } 703 if (f[b] == "-") { 704 continue 705 } 706 if (f[b] == "+") { 707 continue 708 } 709 var c = +f[b]; 710 if (!Number.isInteger(c)) { 711 return false 712 } 713 } 714 if (g != 1) { 715 return false 716 } 717 if (a != 2) { 718 return false 719 } 720 return true 721 } 722 723 function markerByCoordinates() { 724 var b = document.getElementById("idCoordinatesInput"); 725 var e = (b.value).trim(); 726 if (!checkFormatDDD(e)) { 727 alert("incorrect input "); 728 return false 729 } 730 var a = e.indexOf(","); 731 var d = +e.substr(0, a).trim(); 732 var c = +e.substr(a + 1).trim(); 733 var f = new L.latLng(d, c); 734 addNewMarker(f); 735 drawpolygon(); 736 calculateArea(); 737 map.fitBounds(polygon.getBounds()) 738 } 739 740 function myMapLoad() { 741 load_basemaps(); 742 743 Icon = L.icon({ 744 iconUrl: basepath + "images/circle1.png", 745 iconSize: [12, 12] 746 }); 747 748 polygon = L.polygon([], { 749 color: "#0563bd" 750 }).addTo(map); 751 752 map.on("click", onMapClick); 753 754 if (typeof url_points != 'undefined' && url_points && url_points.length > 0) { 755 for (i = 0; i < url_points.length; i++) { 756 polyPoints.push(url_points[i][0], url_points[i][1]); 757 } 758 firstLoad(); 759 } 760 } 761 762 function createEmbedLink() { 763 points_text_array = "["; 764 for (i = 0; i < polyPoints.length; i++) 0 < i && (points_text_array += ","), points_text_array += "[" + polyPoints[i][0] + "," + polyPoints[i][1] + "]"; 765 points_text_array += "]"; 766 } 767 768 function firstLoad() { 769 770 for (var b = 0; b < url_points.length; b++) { 771 addNewMarker(L.latLng(url_points[b])) 772 } 773 drawpolygon(); 774 calculateArea(); 775 map.fitBounds(polygon.getBounds()); 776 $('#btn-save-results').hide(); 777 } 778 779 function clearLastMarker() { 780 var b, a; 781 b = markers.length; 782 if (b > 0) { 783 a = b - 1; 784 markers[a].remove(); 785 markers.pop() 786 } 787 b = markers.length; 788 if (b <= 2) { 789 document.getElementById('status').innerHTML = ''; 790 $('#btn-save-results').hide(); 791 } 792 drawpolygon(); 793 calculateArea(); 794 } 795 796 function latlngFromMarkers() { 797 var c = null; 798 var a = []; 799 var d = markers.length; 800 d--; 801 for (var b = 0; b <= d; b++) { 802 c = markers[b].getLatLng(); 803 a.push(c) 804 } 805 return a 806 } 807 808 function drawpolygon() { 809 var a = latlngFromMarkers(); 810 clearPolygon(); 811 polygon.setLatLngs(a); 812 if (searchMarker) { 813 searchMarker.remove() 814 } 815 } 816 817 function calculateArea() { 818 var e = latlngFromMarkers(); 819 var k = e.length; 820 var h = []; 821 var m, o; 822 polyPoints = []; 823 for (var g = 0; g < k; g++) { 824 m = e[g].lat; 825 o = e[g].lng; 826 h.push([o, m]); 827 polyPoints.push([m,o]); 828 } 829 var b = h[0]; 830 h.push(b); 831 shellArr.length = 0; 832 shellArr.push(h); 833 var f; 834 var c; 835 var a; 836 var l; 837 var j; 838 var n; 839 var d; 840 841 if (k > 2) { 842 printResult(); 843 } 844 845 createEmbedLink(); 846 } 847 848 function calculateDistance() { 849 var f = 0; 850 var g; 851 var c = latlngFromMarkers(); 852 var d = c.length; 853 if (d > 0) { 854 var a = 1; 855 856 f = map.distance(c[0], c[d-1]); 857 for (var b = 0; a < d; b++) { 858 g = map.distance(c[b], c[a]); 859 f = g + f; 860 a++ 861 } 862 var h = f; 863 var e = Math.round(f / 0.9144) 864 } else { 865 var h = 0; 866 var e = 0 867 } 868 869 870 var a = h, 871 b = a / 1E3, 872 d = 6.21371192E-4 * a, 873 c = 5280 * d, 874 y = Math.round(a / 0.9144); 875 876 return a.toFixed(2) + " m | " 877 + b.toFixed(2) + " km" 878 + (is_imperial ? " | " + d.toFixed(2) + " mi | " + c.toFixed(0) + " ft | " + y.toFixed(2) + " yd " : ""); 879 } 880 881 function reset_calc() { 882 883 clearPolygon(); 884 if (polyline) { 885 polyline.remove() 886 } 887 polyline = L.polyline([], { 888 color: "#0563bd" 889 }).addTo(map); 890 var b = markers.length; 891 b--; 892 for (var a = 0; a <= b; a++) { 893 markers[a].remove() 894 } 895 markers.length = 0; 896 clickCount = 0; 897 document.getElementById('status').innerHTML = ''; 898 $('#btn-save-results').hide(); 899 900 polyPoints = []; 901 createEmbedLink(); 902 } 903
904 function addNewMarker(b) { 905 markers.push(L.marker(b, { 906 icon: Icon, 907 draggable: true 908 })); 909 910 if (markers.length == 0) { 911 document.getElementById('status').innerHTML = ''; 912 } 913 var a = markers.length - 1; 914 markers[a].setOpacity(opacity); 915 markers[a].addTo(map); 916 markers[a].on("dragend", function() { 917 drawpolygon(); 918 calculateArea() 919 }) 920 } 921 922 function clearPolygon() { 923 if (polygon) { 924 if (!polygon.isEmpty()) { 925 polygon.remove() 926 } 927 } 928 polygon = L.polygon([], { 929 color: "#0563bd" 930 }).addTo(map) 931 } 932 933 function onMapClick(a) { 934 addNewMarker(a.latlng); 935 drawpolygon(); 936 calculateArea() 937 } 938 939 function newCalc() { 940 reset_calc(); 941 map.on("click", onMapClick); 942 document.getElementById('status').innerHTML = ''; 943 } 944</script>
944<br class="cb"><div class="banner_responsive"><!-- CMAPS_responsive_bottom --> 945 <ins class="adsbygoogle" 946 style="display:block" 947 data-ad-client="ca-pub-9757282942634037" 948 data-ad-slot="8498805509" 949 data-ad-format="horizontal"></ins> 950
950<script> 951 (adsbygoogle = window.adsbygoogle || []).push({}); 952 </script>
952</div><br class="cb"></div><div class="col-md-2"><br class="cb"><div class="banner_responsive"><!-- CMAPS_responsive_right_side --> 953 <ins class="adsbygoogle" 954 style="display:block" 955 data-ad-client="ca-pub-9757282942634037" 956 data-ad-slot="5016832978" 957 data-ad-format="auto"></ins> 958
958<script> 959 (adsbygoogle = window.adsbygoogle || []).push({}); 960 </script>
960</div><br class="cb"></div></section> 961</div><!-- END PAGE --> 962<div id="lang-modal" class="modal fade" role="dialog"> 963 <div class="modal-dialog" role="document"> 964 <div class="modal-content"> 965 <div class="modal-header"> 966 <button type="button" class="close" data-dismiss="modal">×</button> 967 <span class="modal-title tac">Language</span> 968 </div> 969 <div class="modal-body tac"> 970 <div class="col-12 mb15"><p class="bbdashed p5"><a class="fs14 bold " href="https://www.calcmaps.com/map-area/">[EN] English</a></p></div><div class="col-12 mb15"><p class="bbdashed p5"><a class="fs14 " href="https://www.calcmaps.com/de/map-area/">[DE] Deutsch</a></p></div><div class="col-12 mb15"><p class="bbdashed p5"><a class="fs14 " href="https://www.calcmaps.com/fr/map-area/">[FR] Français</a></p></div><div class="col-12 mb15"><p class="bbdashed p5"><a class="fs14 " href="https://www.calcmaps.com/es/map-area/">[ES] Español</a></p></div><div class="col-12 mb15"><p class="bbdashed p5"><a class="fs14 " href="https://www.calcmaps.com/pt/map-area/">[PT] Português</a></p></div><div class="col-12 mb15"><p class="bbdashed p5"><a class="fs14 " href="https://www.calcmaps.com/it/map-area/">[IT] Italiano</a></p></div><div class="col-12 mb15"><p class="bbdashed p5"><a class="fs14 " href="https://www.calcmaps.com/nl/map-area/">[NL] Nederlands</a></p></div><div class="col-12 mb15"><p class="bbdashed p5"><a class="fs14 " href="https://www.calcmaps.com/sv/map-area/">[SV] Svenska</a></p></div><div class="col-12 mb15"><p class="bbdashed p5"><a class="fs14 " href="https://www.calcmaps.com/ro/map-area/">[RO] RomânÄ</a></p></div><div class="col-12 mb15"><p class="bbdashed p5"><a class="fs14 " href="https://www.calcmaps.com/pl/map-area/">[PL] Polski</a></p></div><div class="col-12 mb15"><p class="bbdashed p5"><a class="fs14 " href="https://www.calcmaps.com/ru/map-area/">[RU] PÑÑÑкий</a></p></div><div class="col-12 mb15"><p class="bbdashed p5"><a class="fs14 " href="https://www.calcmaps.com/tr/map-area/">[TR] Türkçe</a></p></div> 971 </div><br class="cb"> 972 <div class="modal-footer tac"> 973 <button type="button" class="btn btn-default rounded5" data-dismiss="modal">Cancel</button> 974 </div> 975 </div> 976 </div> 977 </div><!-- FOOTER --> 978<footer id="footer" class="container"> 979<div class="row footer-last"> 980 <div class="col-md-3 article-content-no-padding"> 981 <span class="text-left fs13">© 2015â2026 Calcmaps.com</span> 982 </div> 983 <div class="col-md-9 article-content-no-padding text-left "> 984 <a href="https://www.calcmaps.com/terms-and-conditions/" rel="nofollow" class="mr10 mb10 dib_mobile fs14">Terms and Conditions</a> 985 <a href="https://www.calcmaps.com/policy-privacy/" rel="nofollow" class="mr10 mb10 dib_mobile fs14">Policy Privacy</a> 986 <a href="https://www.calcmaps.com/policy-privacy/#cookies" rel="nofollow" class="mr10 mb10 dib_mobile fs14">Cookies</a> 987 <a href="https://www.calcmaps.com/contact/" rel="nofollow" class="mr10 mb10 dib_mobile fs14">Contact us</a> 988 <a href="https://www.calcmaps.com/about/" rel="nofollow" class="mr10 mb10 dib_mobile fs14">About</a> 989 <a href="#" rel="nofollow" id="footer_choose_lang_modal" class="mr10 mb10 dib_mobile fs14" data-toggle="modal" data-target="#lang-modal">Language</a> 990 <a href="https://www.facebook.com/calcmaps" class="mr10 mb10 dib_mobile fs14" title="Facebook" rel="nofollow" target="_blank">Facebook</a> </div> 991</div> 992 993</footer><!-- END FOOTER --> 994
995<script> 996 997var basepath = "https://www.calcmaps.com/"; 998var lang = "en"; 999var lang_op = "map-area"; 1000var basepath_lang = "https://www.calcmaps.com/"; 1001var BLANK = "https://www.calcmaps.com/css/i/blank.gif"; 1002var onl = "1"; 1003var ismobile = ""; 1004var isbot = "1"; 1005var cookie_domain = "www.calcmaps.com"; 1006var cookie_prefix = "CMAPS"; 1007var cookie_version = "_V2_"; 1008var static_dir = "https://www.calcmaps.com/"; 1009</script>
1009 1010 1011<style> 1012#map_canvas {width:100%; height:500px;} 1013#map_area {width:100%;} 1014</style> 1015
1016<script> 1017var url_points = ''; 1018var url_short_coords = ''; 1019var start_point = null, start_lat = null, start_lng = null; 1020var start_zoom = country_zoom; //0-20 1021var mapTypeId = 'hybrid'; 1022</script>
vendor: 1 bytes, line 1022
1022
1023<script src="https://www.calcmaps.com/js/pages/page.js?v=52"></script>
vendor: 1 bytes, line 1023
1023
1024<script type="application/ld+json"> 1025 { "@context" : "http://schema.org", 1026 "@type" : "WebSite", 1027 "name" : "CalcMaps", 1028 "alternateName" : "CMAPS", 1029 "url" : "https://www.calcmaps.com" 1030 } 1031</script>
1031 1032
1033<script> 1034var url_dir = "map-area"; 1035</script>
1035 1036 1037 <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 72 bytes, lines 1037-1038
1037 1038 <script async src='https://www.googletagmanager.com/gtag/js?id=
1038G-857DKLZ3G3
vendor: 20 bytes, lines 1038-1039
1038'></script> 1039
1039<script> 1040
vendor: 157 bytes, lines 1040-1043
1040window.dataLayer = window.dataLayer || []; 1041 function gtag(){dataLayer.push(arguments);} 1042 gtag('js', new Date()); 1043 gtag('config', '
1043G-857DKLZ3G3
vendor: 13 bytes, lines 1043-1044
1043'); 1044
1044</script>
1044 1045 1046 <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 72 bytes, lines 1046-1047
1046 1047 <script async src='https://www.googletagmanager.com/gtag/js?id=
1047G-4YH9VB85NZ
vendor: 20 bytes, lines 1047-1048
1047'></script> 1048
1048<script> 1049
vendor: 166 bytes, lines 1049-1053
1049window.dataLayer = window.dataLayer || []; 1050 function gtag(){dataLayer.push(arguments);} 1051 gtag('js', new Date()); 1052 1053 gtag('config', '
1053G-4YH9VB85NZ
vendor: 110 bytes, lines 1053-1057
1053', { 1054 'page_title' : 'calcmaps.com', 1055 'page_path': url_dir 1056 }); 1057
1057</script>
1057 1058 1059
1059<script> 1060 // track events 1061 function trackClickEvent(element, action, label) { 1062 1063 label = typeof(label) != 'undefined' ? label : ''; 1064 1065 if (typeof(gtag) !== 'undefined') { 1066 1067 gtag('event', element + '_' + action + (label != '' ? '_' + label : ''), { 1068 send_to: 'G-857DKLZ3G3' 1069 }); 1070 1071 } 1072 console.log('GA4: ' + element + ' ' + action + ' ' + label); 1073 } 1074 </script>
1074<script> 1075 if (inside_iframe && document.referrer) { 1076 try { 1077 trackClickEvent('inside_iframe', new URL(document.referrer).hostname, document.referrer); 1078 } catch(e) {} 1079 } 1080</script>
1080 1081<div class="modal fade" id="adb_modal" role="dialog"> 1082 <div class="modal-dialog"> 1083 <div class="modal-content"> 1084 <div class="modal-header" style="min-height: 50px"> 1085 <span class="modal-title tac" id="adb_modal_title"></span> 1086 <button type="button" class="close" data-dismiss="modal" onclick="trackClickEvent('ad_block', 'close_alert')">×</button> 1087 </div> 1088 <div class="modal-body fs16 tac" id="adb_modal_alert_text"></div> 1089 </div> 1090 </div> 1091</div>
1092<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/bundle.js" onerror="this.onerror=null;var s=document.createElement('script');s.src='https://www.calcmaps.com/js/leaflet/easy_print_2.1.9.js?v=52';document.head.appendChild(s);"></script>
1092 1093<div id="miniModal"> 1094 <div class="miniModalBox"> 1095 <div id="miniModalText"></div> 1096 <button id="miniModalOk">OK</button> 1097 </div> 1098</div> 1099</body> 1100</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.