Arcgis 热键在地图外工作
arcgis hotkey work outside of map
在页面上制作地图:
function initMap() {
return require([
"esri/map",
"esri/layers/ArcGISTiledMapServiceLayer",
"esri/layers/ArcGISDynamicMapServiceLayer",
"esri/layers/FeatureLayer",
"esri/graphic",
"esri/symbols/SimpleFillSymbol",
"esri/symbols/SimpleMarkerSymbol",
"esri/symbols/SimpleLineSymbol",
"esri/symbols/TextSymbol",
"esri/symbols/Font",
"esri/geometry/Circle",
"esri/geometry/Polygon",
"esri/geometry/Point",
"esri/SpatialReference",
"esri/geometry/webMercatorUtils",
"esri/layers/GraphicsLayer",
"dojo/request/script",
"dojo/_base/array",
"dojo/promise/all", "dojo/Deferred", "dojo/dom", "dojo/on", "dojo/json",
"esri/symbols/PictureMarkerSymbol",
"esri/symbols/CartographicLineSymbol",
"esri/geometry/Polyline",
"esri/Color",
"dojo/dom-construct",
"dojox/charting/Chart",
"dojo/domReady!"
],
function ( Map, ArcGISTiledMapServiceLayer, ArcGISDynamicMapServiceLayer, FeatureLayer, Graphic, SimpleFillSymbol,
SimpleMarkerSymbol, SimpleLineSymbol, TextSymbol, Font, Circle, Polygon, Point, SpatialReference,
webMercatorUtils, GraphicsLayer, script, array, all, Deferred, dom, on, JSON, PictureMarkerSymbol, CartographicLineSymbol, Polyline, Color, domConstruct, Chart) { // function parameters must be in the same order as requires
map = new Map("map", {
center: [99.999, 99.999],
zoom: 12,
});
var mapServiceURL = "http://server.com/arcgis2/rest/services/Common/BASEMAP_BIPD/MapServer";
map.addLayer(new esri.layers.ArcGISTiledMapServiceLayer(mapServiceURL));
});
}
显示正确。使用地图在页面上制作相同的文本框。有时用户使用键盘右侧的数字键盘(靠近 numlock)在文本框中写入任何数字,数字未写入,但地图是开始键盘导航。数字状态下的 Numlock。
不是每次都这样。然后用户单击任何其他文本框和 return 以继续写入数字 - 它写入正确。
如何修复或禁用 arcgis 热键?
(以防万一:
我将卡连接到页面,但是当在页面上的第三方字段中的附加键盘上键入数字时,焦点在此字段上,但卡移动,而不是输入数字(numlock 在正确的位置)。通过多次改变不同领域的重点来治疗它。有什么方法可以禁用热键,或修复这种不健康的行为吗?)
一种解决方案是当用户将焦点放在文本框中时禁用地图键盘导航。然后,当 focus out 时,再次启用它。为此,请使用 the docs:
中的这些函数
map.enableKeyboardNavigation();
map.disableKeyboardNavigation();
map.isKeyboardNavigation;
在页面上制作地图:
function initMap() {
return require([
"esri/map",
"esri/layers/ArcGISTiledMapServiceLayer",
"esri/layers/ArcGISDynamicMapServiceLayer",
"esri/layers/FeatureLayer",
"esri/graphic",
"esri/symbols/SimpleFillSymbol",
"esri/symbols/SimpleMarkerSymbol",
"esri/symbols/SimpleLineSymbol",
"esri/symbols/TextSymbol",
"esri/symbols/Font",
"esri/geometry/Circle",
"esri/geometry/Polygon",
"esri/geometry/Point",
"esri/SpatialReference",
"esri/geometry/webMercatorUtils",
"esri/layers/GraphicsLayer",
"dojo/request/script",
"dojo/_base/array",
"dojo/promise/all", "dojo/Deferred", "dojo/dom", "dojo/on", "dojo/json",
"esri/symbols/PictureMarkerSymbol",
"esri/symbols/CartographicLineSymbol",
"esri/geometry/Polyline",
"esri/Color",
"dojo/dom-construct",
"dojox/charting/Chart",
"dojo/domReady!"
],
function ( Map, ArcGISTiledMapServiceLayer, ArcGISDynamicMapServiceLayer, FeatureLayer, Graphic, SimpleFillSymbol,
SimpleMarkerSymbol, SimpleLineSymbol, TextSymbol, Font, Circle, Polygon, Point, SpatialReference,
webMercatorUtils, GraphicsLayer, script, array, all, Deferred, dom, on, JSON, PictureMarkerSymbol, CartographicLineSymbol, Polyline, Color, domConstruct, Chart) { // function parameters must be in the same order as requires
map = new Map("map", {
center: [99.999, 99.999],
zoom: 12,
});
var mapServiceURL = "http://server.com/arcgis2/rest/services/Common/BASEMAP_BIPD/MapServer";
map.addLayer(new esri.layers.ArcGISTiledMapServiceLayer(mapServiceURL));
});
}
显示正确。使用地图在页面上制作相同的文本框。有时用户使用键盘右侧的数字键盘(靠近 numlock)在文本框中写入任何数字,数字未写入,但地图是开始键盘导航。数字状态下的 Numlock。 不是每次都这样。然后用户单击任何其他文本框和 return 以继续写入数字 - 它写入正确。
如何修复或禁用 arcgis 热键?
(以防万一: 我将卡连接到页面,但是当在页面上的第三方字段中的附加键盘上键入数字时,焦点在此字段上,但卡移动,而不是输入数字(numlock 在正确的位置)。通过多次改变不同领域的重点来治疗它。有什么方法可以禁用热键,或修复这种不健康的行为吗?)
一种解决方案是当用户将焦点放在文本框中时禁用地图键盘导航。然后,当 focus out 时,再次启用它。为此,请使用 the docs:
中的这些函数map.enableKeyboardNavigation();
map.disableKeyboardNavigation();
map.isKeyboardNavigation;