dojo.connect(map, "onExtentChange", updateExtent); dojo.connect(window, 'resize', mapResize); pixelPerMeter = 96/.0254; // Define pixel per meter value (96 pixels per inch) function mapResize(){ var resizeTimer; clearTimeout(resizeTimer); resizeTimer = setTimeout(function(){ sizeMap(); map.resize(); map.reposition(); }, 500); } function sizeMap(){ mapWidthPx = window.innerWidth; // Using 57 pixels for control/information bars mapHeightPx = window.innerHeight - 57; // Set calculated height for mapDiv $("#map").css({"height" : (mapHeightPx + "px")}); } function updateExtent(evt){ mapScale = calcScale(evt.xmax, evt.xmin, evt.ymax, evt.ymin); displayMapScale(mapScale); // Write map scale out to } function calcScale(maxX, minX, maxY, minY) { var meterX = Math.abs(maxX - minX); var meterY = Math.abs(maxY - minY); var scaleX = meterX / mapWidthPx * pixelPerMeter; var scaleY = meterY / mapHeightPx * pixelPerMeter; var scaleMin = Math.round((scaleY>scaleX)?scaleX:scaleY); return scaleMin; }
var scalebarLengthInPixel = scalebar.domNode.style.width; // For example, you may get "112px" as returned value var scalebarLengthInReality = dojo.query(".esriScalebarSecondNumber", scalebar.domNode)[0].innerHTML; //you may get "300mi" as returned value
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.