为 Track 微件提供逻辑,该微件在单机时将 View 动画到用户的位置,并在位置更新时对其进行跟踪。
不安全的来源不支持 (geolocation) 功能。要使用它,请将您的应用程序切换到安全源,例如 HTTPS。请注意,localhost 被认为是“潜在安全的”,可用于在支持 Window.isSecureContext(目前是 Chrome 和 Firefox)的浏览器中轻松测试。
从 4.2 版开始,Track Button 不再显示在不安全的 Web 应用程序中。在 4.1 版中,这仅适用于 Google Chrome。
let trackWidget = new Track({
viewModel: { // 转换成 new TrackViewModel()
view: view, // attaches the Track to the view
}
}, "trackDiv");
构造函数
属性列表
属性 | 类型 | 描述 | 类 | |
---|---|---|---|---|
String | 更多信息 类名。 | 更多信息 | Accessor | |
Object | 更多信息 用于定位的 HTML5 Geolocation Position 选项。 | 更多信息 | TrackViewModel | |
Boolean | 更多信息 指示是否将视图导航到地理定位结果的位置和比例。 | 更多信息 | TrackViewModel | |
GoToOverride | 更多信息 此功能提供了覆盖 MapView goTo() or SceneView goTo() 方法 | 更多信息 | TrackViewModel | |
Graphic | 更多信息 用于在地图上显示用户位置的图形。 | 更多信息 | TrackViewModel | |
Number | 更多信息 导航到地理定位结果的位置时在视图上设置的比例。 | 更多信息 | TrackViewModel | |
String | 更多信息 微件的当前状态。 | 更多信息 | TrackViewModel | |
Boolean | 更多信息 指示是否正在监视新位置。 | 更多信息 | TrackViewModel | |
MapView|SceneView | 更多信息 与微件关联的视图。 | 更多信息 | TrackViewModel |
属性详细说明
-
起始版本: GeoScene API for JavaScript 4.22
-
类名。类的名称声明格式为
geoscene.folder.className
。
-
geolocationOptions Object
-
用于定位的 HTML5 Geolocation Position 选项。详情请参阅地理位置 API 规范。
- 默认值:{ maximumAge: 0, timeout: 15000, enableHighAccuracy: true }
-
goToLocationEnabled Boolean
-
指示是否将视图导航到地理定位结果的位置和比例。
- 默认值:true
-
goToOverride GoToOverride起始版本: GeoScene API for JavaScript 4.22
-
此功能提供了覆盖 MapView goTo() or SceneView goTo() 方法
示例代码:// 以下代码段使用了搜索小部件,但可以应用于任何应用程序 // widgets 都支持 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, // Assigns the locate widget to a view graphic: new Graphic({ symbol: { type: "simple-marker" } // Overwrites the default symbol used for the // graphic placed at the location of the user when found }) } });
-
scale Number起始版本: GeoScene API for JavaScript 4.22
-
导航到地理定位结果的位置时在视图上设置的比例。如果未明确设置比例值,则视图将导航到默认比例
2500
。- 默认值:null
-
state Stringreadonly
-
微件的当前状态。
可选值:"disabled"|"ready"|"tracking"|"waiting"
- 默认值:disabled
-
tracking Booleanreadonly
-
指示是否正在监视新位置。
- 默认值:false
-
与微件关联的视图。
方法列表
属性 | 返回值类型 | 描述 | 类 | |
---|---|---|---|---|
Boolean | 更多信息 在实例上触发事件。 | 更多信息 | TrackViewModel | |
Boolean | 更多信息 指示实例上是否存在与提供的事件名称匹配的事件侦听器。 | 更多信息 | TrackViewModel | |
Object | 更多信息 在实例上注册事件处理程序。 | 更多信息 | TrackViewModel | |
更多信息 执行时,跟踪从用户的位置开始。 | 更多信息 | TrackViewModel | ||
更多信息 执行时停止跟踪用户的位置。 | 更多信息 | TrackViewModel |
方法详细说明
-
emit(type, event){Boolean}起始版本: GeoScene API for JavaScript 4.22
-
在实例上触发事件。仅当创建此类的子类时才应使用此方法。
参数:type String事件名称
event Objectoptional事件负载。
返回值:类型 描述 Boolean 如果侦听器收到通知,则为 true
-
hasEventListener(type){Boolean}
-
指示实例上是否存在与提供的事件名称匹配的事件侦听器。
参数:type String事件名称
返回值:类型 描述 Boolean 如果类支持输入事件,则返回 true。
-
on(type, listener){Object}
-
在实例上注册事件处理程序。调用此方法将事件与侦听器挂钩
参数:要监听的 event 或者事件数组
listener Function事件触发时要调用的函数
返回值:类型 描述 Object 返回一个 remove()
方法的事件处理程序,该方法用以停止侦听事件。属性 类型 描述 remove Function 当被调用时,从事件中移除监听器。 示例代码:view.on("click", function(event){ // event是事件触发后返回的事件句柄。 console.log(event.mapPoint); });
-
start()
-
执行时,跟踪从用户的位置开始。
-
stop()
-
执行时停止跟踪用户的位置。
Event Overview
属性 | 类型 | 描述 | 类 | |
---|---|---|---|---|
{position: Object} |
更多信息
在调用 start() 方法并找到位置后触发。 |
更多信息 | TrackViewModel | |
{error: Error} |
更多信息
在调用 start() 方法并返回错误后触发。 |
更多信息 | TrackViewModel |
Event Details
-
track
-
在调用 start() 方法并找到位置后触发。
- Property:
-
position Object
从 Geolocation API 返回的地理位置。