提供“定位” 微件的逻辑,该微件将视图动画化到用户的当前位置。
不安全的源不支持(地理位置)功能。若要使用它,请将应用程序切换到安全源,如 HTTPS。请注意,localhost 被认为是“潜在安全的”,可用于在支持 Window.isSecureContext(目前为 Chrome 和 Firefox)的浏览器中轻松测试。
从版本 4.2 开始,定位按钮不再显示在不安全的 Web 应用程序中。在 4.1 版本中,这仅适用于谷歌浏览器。
let locateWidget = new Locate({
viewModel: { // 转换成 new LocateViewModel()
view: view // 将“定位”按钮附加到视图
},
container: "locateDiv"
});
构造函数
属性列表
名称 | 类型 | 描述 | 类 | |
---|---|---|---|---|
String | 更多信息 类名。 | 更多信息 | Accessor | |
Object | 更多信息 用于定位的 HTML5 地理位置位置选项。 | 更多信息 | LocateViewModel | |
Boolean | 更多信息 指示是否将视图导航到地理位置结果的位置和比例。 | 更多信息 | LocateViewModel | |
GoToOverride | 更多信息 此函数提供了覆盖 MapView goTo() 或 SceneView goTo() 方法。 | 更多信息 | LocateViewModel | |
Graphic | 更多信息 用于在地图上显示用户位置的图形。 | 更多信息 | LocateViewModel | |
Boolean | 更多信息 | 更多信息 | LocateViewModel | |
Number | 更多信息 导航到地理位置结果的位置时要在视图上设置的比例。 | 更多信息 | LocateViewModel | |
String | 更多信息 微件的当前状态。 | 更多信息 | LocateViewModel | |
MapView|SceneView | 更多信息 与微件关联的视图。 | 更多信息 | LocateViewModel |
属性详细说明
-
起始版本: GeoScene API for JavaScript 4.22
-
类名。类的名称声明格式为
geoscene.folder.className
。
-
geolocationOptions Object
-
用于定位的 HTML5 地理位置位置选项。有关详细信息,请参阅地理位置 API 规范。
- 默认值:{ maximumAge: 0, timeout: 15000, enableHighAccuracy: true }
-
goToLocationEnabled Boolean
-
指示是否将视图导航到地理位置结果的位置和比例。
- 默认值:true
-
goToOverride GoToOverride起始版本: GeoScene API for JavaScript 4.22
-
此函数提供了覆盖 MapView goTo() 或 SceneView goTo() 方法。
示例代码:// 下面的代码片段使用搜索微件, // 但可以应用于支持 goToOverride 属性的任何微件。 search.goToOverride = function(view, goToParams) { goToParams.options.duration = updatedDuration; return view.goTo(goToParams.target, goToParams.options); };
-
graphic Graphic
-
用于在地图上显示用户位置的图形。
示例代码:let locateWidget = new Locate({ viewModel: { // 转换成 new LocateViewModel() view: view, // 将定位微件分配给视图 graphic: new Graphic({ symbol: { type: "simple-marker" } // 在发现时在用户位置 // 的图形重写默认符号 }) } });
-
popupEnabled Boolean起始版本: GeoScene API for JavaScript 4.22
-
- 默认值:true
- 另参阅:
-
scale Number起始版本: GeoScene API for JavaScript 4.22
-
导航到地理位置结果的位置时要在视图上设置的比例。如果未显式设置比例值,则视图将导航到
2500
的默认比例。- 默认值:null
-
state Stringreadonly
-
微件的当前状态。
可选值:"disabled"|"ready"|"locating"
- 默认值:disabled
-
与微件关联的视图。
方法列表
名称 | 返回值类型 | 描述 | 类 | |
---|---|---|---|---|
更多信息 此函数提供了中断和取消以编程方式获取用户设备位置的过程的功能。 | 更多信息 | LocateViewModel | ||
Boolean | 更多信息 在实例上触发事件。 | 更多信息 | LocateViewModel | |
Boolean | 更多信息 指示实例上是否存在与提供的事件名称匹配的事件侦听器。 | 更多信息 | LocateViewModel | |
Promise<Object> | 更多信息 将视图动画化到用户的位置。 | 更多信息 | LocateViewModel | |
Object | 更多信息 在实例上注册事件处理程序。 | 更多信息 | LocateViewModel |
方法详细说明
-
cancelLocate()起始版本: GeoScene API for JavaScript 4.22
-
此函数提供了中断和取消以编程方式获取用户设备位置的过程的功能。
-
emit(type, event){Boolean}起始版本: GeoScene API for JavaScript 4.22
-
在实例上触发事件。仅当创建此类的子类时才应使用此方法。
参数:type String事件名称。
event Objectoptional事件负载。
返回值:类型 描述 Boolean 如果侦听器收到通知,则为 true
-
hasEventListener(type){Boolean}
-
指示实例上是否存在与提供的事件名称匹配的事件侦听器。
参数:type String事件名称。
返回值:类型 描述 Boolean 如果类支持输入事件,则返回 true。
-
将视图动画化到用户的位置。
返回值:类型 描述 Promise<Object> 解析为与定位事件中定义的事件对象具有相同规范的对象。 示例代码:let locateWidget = new Locate({ viewModel: { // 转换成 new LocateViewModel() view: view }, container: "locateDiv" }); locateWidget.locate().then(function(){ // 在找到用户位置后触发 });
-
on(type, listener){Object}
-
在实例上注册事件处理程序。调用此方法将事件与侦听器挂钩。
参数:要监听的事件或者事件数组。
listener Function事件触发时要调用的函数。
返回值:类型 描述 Object 返回一个 remove()
方法的事件处理程序,该方法用以停止侦听事件。属性 类型 描述 remove Function 当被调用时,从事件中移除监听器。 示例代码:view.on("click", function(event){ // event是事件触发后返回的事件句柄。 console.log(event.mapPoint); });
Event Overview
名称 | 类型 | 描述 | 类 | |
---|---|---|---|---|
{error: Error} |
更多信息
在调用 locate() 方法后触发并失败。 |
更多信息 | LocateViewModel |