I'm using ArcGIS Server 10.2.2. After migrating from API version 3.13 to 3.17 we discovered the measurement widget no longer displays the location coordinates or segment distances "on the fly", i.e. real time when you're hovering your cursor around the map div. My map uses the NAD83 State Plane coordinate system and is initialized like so:
app<SPAN class="punctuation token">.</SPAN>spatialRefNAD83 <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">SpatialReference</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">{</SPAN> wkid<SPAN class="punctuation token">:</SPAN> <SPAN class="number token">2276</SPAN> <SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
app<SPAN class="punctuation token">.</SPAN>defaultExtent <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">Extent</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="number token">2377900.70899601</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">6898000.2235117</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="number token">2399245.87566268</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">6984000.2235117</SPAN><SPAN class="punctuation token">,</SPAN> app<SPAN class="punctuation token">.</SPAN>spatialRefNAD83
<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
app<SPAN class="punctuation token">.</SPAN>map <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> <SPAN class="token class-name">Map</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"map"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">{</SPAN>
extent<SPAN class="punctuation token">:</SPAN> app<SPAN class="punctuation token">.</SPAN>defaultExtent<SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">[</SPAN>parameters<SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">]</SPAN>
<SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>Then I add layers
app<SPAN class="punctuation token">.</SPAN>map<SPAN class="punctuation token">.</SPAN><SPAN class="token function">addLayers</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">[</SPAN>app<SPAN class="punctuation token">.</SPAN>layerOrthos<SPAN class="punctuation token">,</SPAN> app<SPAN class="punctuation token">.</SPAN>layerESRIWorldStreetMap<SPAN class="punctuation token">,</SPAN> app<SPAN class="punctuation token">.</SPAN>layerBaseMap<SPAN class="punctuation token">,</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN></SPAN>
layerOrthos: tiled service - Spatial Reference: 102738 (2276)
layerESRIWorldStreetMap: tiled service - Spatial Reference: 102100 (3857)
layerBaseMap: vector service - Spatial Reference: 102738 (2276)
In JS API 3.13 the measure results displayed real time with my setup above. Looks like 3.14 is the version where the measurement widget changed its behavior or dependencies. It only updates the measurement results when you click on the map for segments or coordinates. Our users need real time updates, though. The only way I get real time results is when I use one of ESRI's basemap options, "streets", "topo", "gray", etc.
Every combination I've tried leads to projection errors, even though I have defined my geometry service.
esriConfig.defaults.geometryService = new GeometryService(app.geometryServerURL);
Any suggestions?