CoordinateConversion 微件提供了一种将用户光标位置显示为地图坐标或几种流行坐标表示法的方法。此外,该微件提供了一种将用户输入坐标转换为点的方法。
默认情况下包含几种常见格式:
- XY - 经度、纬度 (WGS84)
- MGRS - 军用网格参考系统
- UTM - 通用横向墨卡托
- DD - 十进制度
- DDM - 度 十进制 分钟
- DMS - 度分秒
- Basemap - 当前 Basemap 使用的坐标系中的 X、Y,以 Basemap 使用的单位表示。 Web Mercator 是 Esri 提供的底图的标准。
其他格式可以由开发人员创建并通过微件提供。
- 另请参阅:
let ccWidget = new CoordinateConversion({
view: view
});
// Adds widget in the bottom left corner of the view
view.ui.add(ccWidget, "bottom-left");
构造函数
属性概览
名称 | 类型 | 描述 | 类 | |
---|---|---|---|---|
String|HTMLElement | 更多信息 表示包含微件的 DOM 元素的 ID 或节点。 | 更多信息 | Widget | |
Collection<Conversion> | 更多信息 包含微件当前显示的每个 Conversion 的 集合。 | 更多信息 | CoordinateConversion | |
Point | 更多信息 将微件当前显示的坐标的位置描述为一个 Point。 | 更多信息 | CoordinateConversion | |
String | 更多信息 类的名称。 | 更多信息 | Accessor | |
Collection<Format> | 更多信息 | 更多信息 | CoordinateConversion | |
GoToOverride | 更多信息 此函数提供了覆盖 MapView goTo() 或 SceneView goTo() 方法的能力。 | 更多信息 | CoordinateConversion | |
Number | 更多信息 指示用于坐标输入和坐标设置标题的标题级别。 | 更多信息 | CoordinateConversion | |
String | 更多信息 创建微件时分配给微件的唯一 ID。 | 更多信息 | Widget | |
String | 更多信息 微件的默认标签。 | 更多信息 | CoordinateConversion | |
SimpleMarkerSymbol|PictureMarkerSymbol | 更多信息 此符号用于在 | 更多信息 | CoordinateConversion | |
String | 更多信息 描述微件的当前模式。 | 更多信息 | CoordinateConversion | |
Boolean | 更多信息 如果此属性设置为 | 更多信息 | CoordinateConversion | |
String | 更多信息 确定微件是向上还是向下扩展。 | 更多信息 | CoordinateConversion | |
Boolean | 更多信息 如果此属性设置为 | 更多信息 | CoordinateConversion | |
String | 更多信息 此属性确定是使用 sessionStorage 还是 localStorage 来存储微件状态。 | 更多信息 | CoordinateConversion | |
MapView|SceneView | 更多信息 | 更多信息 | CoordinateConversion | |
CoordinateConversionViewModel | 更多信息 此微件的视图模型。 | 更多信息 | CoordinateConversion | |
Boolean | 更多信息 指示微件是否可见。 | 更多信息 | Widget | |
VisibleElements | 更多信息 微件中显示的可见元素。 | 更多信息 | CoordinateConversion |
属性详情
-
-
表示包含微件的 DOM 元素的 ID 或节点。该属性只能设置一次。以下示例都是使用微件时的有效用例。
示例:// Create the HTML div element programmatically at runtime and set to the widget's container const basemapGallery = new BasemapGallery({ view: view, container: document.createElement("div") }); // Add the widget to the top-right corner of the view view.ui.add(basemapGallery, { position: "top-right" });
// Specify an already-defined HTML div element in the widget's container const basemapGallery = new BasemapGallery({ view: view, container: basemapGalleryDiv }); // Add the widget to the top-right corner of the view view.ui.add(basemapGallery, { position: "top-right" }); // HTML markup <body> <div id="viewDiv"></div> <div id="basemapGalleryDiv"></div> </body>
// Specify the widget while adding to the view's UI const basemapGallery = new BasemapGallery({ view: view }); // Add the widget to the top-right corner of the view view.ui.add(basemapGallery, { position: "top-right" });
-
conversions Collection<Conversion>
-
包含微件当前显示的每个 Conversion 的 集合。
-
currentLocation Point
-
-
类的名称。声明的类名格式为
geoscene.folder.className
。
-
formats Collection<Format>
-
-
goToOverride GoToOverride起始版本:GeoScene API for JavaScript 4.8
-
此函数提供了覆盖 MapView goTo() 或 SceneView goTo() 方法的能力。
示例:// The following snippet uses the Search widget but can be applied to any // widgets that support the goToOverride property. search.goToOverride = function(view, goToParams) { goToParams.options.duration = updatedDuration; return view.goTo(goToParams.target, goToParams.options); };
-
headingLevel Number起始版本:GeoScene API for JavaScript 4.20
-
指示用于坐标输入和坐标设置标题的标题级别。默认情况下,这些标题呈现为 4 级标题(例如
<h4>Input coordinate</h4>
)。根据坐标转换微件在您的应用中的位置,您可能需要调整此标题以获得正确的语义。这对于满足可访问性标准很重要。- 默认值:4
示例:// coordinate conversion heading will render as an <h2> coordinateConversion.headingLevel = 2;
-
创建微件时分配给微件的唯一 ID。如果开发人员未设置,则默认为容器 ID,如果不存在,则会自动生成。
-
label String
-
微件的默认标签。
-
-
此符号用于在
capture
模式处于活动状态时可视化微件当前描述的位置。
-
mode String
-
描述微件的当前模式。
- 在
live
模式下,微件将随着光标的移动而更新。 - 在
capture
模式下,微件将在鼠标单击时更新并显示标记当前位置的图形。
可能的值:"live"|"capture"
- 默认值:live
- 在
-
multipleConversions Boolean
-
如果此属性设置为
true
,则可以显示多个转换。要获得一次仅进行一次转换的更简单体验,可以将此属性设置为false
。- 默认值:true
-
orientation String
-
确定微件是向上还是向下扩展。如果设置为
auto
,微件将根据其在视图中的位置进行定向。可能的值:"auto"|"expand-up"|"expand-down"
- 默认值:auto
-
storageEnabled Boolean起始版本:GeoScene API for JavaScript 4.20
-
如果此属性设置为
true
,则 sessionStorage 或 localStorage(取决于 storageType)将用于混合和持久化 CoordinateConversion 微件的状态。- 默认值:true
-
storageType String起始版本:GeoScene API for JavaScript 4.23
-
此属性确定是使用 sessionStorage 还是 localStorage 来存储微件状态。
可能的值:"session"|"local"
- 默认值:"session"
- 另请参阅:
-
viewModel CoordinateConversionViewModel
-
此微件的视图模型。视图模型包含控制 Coordinate Widget 行为的逻辑。请参阅 CoordinateConversionViewModel 类以访问微件上的所有属性和方法。
-
指示微件是否可见。
如果为
false
,则该微件将不再呈现在 Web 文档中。这可能会影响文档中其他元素或微件的布局。例如,如果此微件是与视图 UI 右上角关联的三个微件中的第一个,则当此微件不可见时,其他微件将重新定位。有关详细信息,请参阅"none"
的 CSS display 值。- 默认值:true
示例:// Hides the widget in the view widget.visible = false;
-
visibleElements VisibleElementsautocast起始版本:GeoScene API for JavaScript 4.19
-
微件中显示的可见元素。此属性提供了打开/关闭微件显示的各个元素的能力。
示例:coordinateWidget.visibleElements = { settingsButton: false, captureButton: false };
方法概览
名称 | 返回类型 | 描述 | 类 | |
---|---|---|---|---|
String | 更多信息 用于构建微件 | 更多信息 | Widget | |
更多信息 注销微件实例。 | 更多信息 | Widget | ||
Boolean | 更多信息
| 更多信息 | Widget | |
Boolean | 更多信息
| 更多信息 | Widget | |
Boolean | 更多信息
| 更多信息 | Widget | |
更多信息 微件拆卸助手。 | 更多信息 | Widget | ||
更多信息 此方法主要由开发人员在实现自定义微件时使用。 | 更多信息 | Widget | ||
Object | 更多信息 此方法主要由开发人员在实现自定义微件时使用。 | 更多信息 | Widget | |
更多信息 立即将微件呈现给 DOM。 | 更多信息 | Widget | ||
Promise<Point> | 更多信息 尝试将字符串转换为 Point。 | 更多信息 | CoordinateConversion | |
更多信息 此方法主要由开发人员在实现自定义微件时使用。 | 更多信息 | Widget | ||
Promise | 更多信息
| 更多信息 | Widget |
方法详情
-
用于构建微件
class
属性值的实用方法。这有助于简化 CSS 类设置。参数:repeatable 类名称。
返回:类型 说明 String 计算出来的类名。 - 另请参阅:
示例:// .tsx syntax showing how to set CSS classes while rendering the widget render() { const dynamicIconClasses = { [CSS.myIcon]: this.showIcon, [CSS.greyIcon]: !this.showIcon }; return ( <div class={classes(CSS.root, CSS.mixin, dynamicIconClasses)} /> ); }
-
destroy()inherited
-
注销微件实例。
-
起始版本:GeoScene API for JavaScript 4.19
-
isFulfilled()
可用于验证创建类的实例是否已完成(已解决或已拒绝)。如果满足,则返回true
。返回:类型 说明 Boolean 指示创建类的实例是否已完成(已解决或已拒绝)。
-
起始版本:GeoScene API for JavaScript 4.19
-
isRejected()
可用于验证创建类的实例是否被拒绝。如果被拒绝,则返回true
。返回:类型 说明 Boolean 指示创建类的实例是否已被拒绝。
-
起始版本:GeoScene API for JavaScript 4.19
-
isResolved()
可用于验证创建类的实例是否已解决。如果已解决,将返回true
。返回:类型 说明 Boolean 指示创建类的实例是否已解决。
-
own(handles)inherited
-
微件拆卸助手。当微件被销毁时,添加到它的任何句柄都将被自动删除。
参数:handles WatchHandle|WatchHandle[]微件销毁后标记为删除的句柄。
-
postInitialize()inherited
-
此方法主要由开发人员在实现自定义微件时使用。在微件准备好渲染后执行。
-
此方法主要由开发人员在实现自定义微件时使用。它必须由子类实现以进行渲染。
返回:类型 说明 Object 渲染的虚拟节点。
-
renderNow()inherited
-
立即将微件呈现给 DOM。
-
尝试将字符串转换为 Point。必须指定字符串的格式。可以从 formats 属性中获取可用格式的 Collection。
参数:coordinate String坐标字符串。
format Format指定输入坐标的格式。
返回:类型 说明 Promise<Point> 解决后,返回一个 Point。
-
scheduleRender()inherited
-
此方法主要由开发人员在实现自定义微件时使用。安排微件渲染。此方法对于影响 UI 的更改很有用。
-
起始版本:GeoScene API for JavaScript 4.19
-
when()
一旦创建了类的实例,就可以利用它。这个方法有两个输入参数:一个callback
函数和一个errback
函数。callback
在类的实例加载时执行。如果类的实例无法加载,则执行errback
。参数:callback Function可选当 promise 解决时调用的函数。
errback Function可选当 promise 失败时执行的函数。
返回:类型 说明 Promise 返回 callback
结果的新promise,可用于链接其他函数。示例:// Although this example uses the BasemapGallery widget, any class instance that is a promise may use when() in the same way let bmGallery = new BasemapGallery(); bmGallery.when(function(){ // This function will execute once the promise is resolved }, function(error){ // This function will execute if the promise is rejected due to an error });