为 Track 微件提供逻辑,单击时,该微件可将 View 动画到用户的位置,并在位置更新时对其进行跟踪。
Track 微件仅在安全上下文(如 HTTPS)中可用。请注意,localhost 被认为是“潜在安全的”,可用于在支持 Window.isSecureContext 的浏览器中轻松测试。
有关这方面的其他信息,请访问 GeoScene 博客 Google Chrome 中增强的 web API 安全。
let trackWidget = new Track({
viewModel: { // autocasts as new TrackViewModel()
view: view, // attaches the Track to the view
}
}, "trackDiv");
构造函数
属性概述
名称 | 类型 | 描述 | 类 |
---|---|---|---|
String | 类的名称。 更多详情 | Accessor | |
Object | 用于设置可选位置参数的对象。 更多详情 | TrackViewModel | |
Boolean | 指示是否将视图导航到地理定位结果的位置和比例。 更多详情 | TrackViewModel | |
GoToOverride | 此函数提供了覆盖 MapView goTo() 或 SceneView goTo() 方法的能力。 更多详情 | TrackViewModel | |
Graphic | 用于在地图上显示用户位置的图形。 更多详情 | TrackViewModel | |
Number | 指示在从 track 事件返回位置后,导航到地理定位结果的位置时,在视图上设置的比例。 更多详情 | TrackViewModel | |
String | 微件的当前状态。 更多详情 | TrackViewModel | |
Boolean | 指示是否正在监视新位置。 更多详情 | TrackViewModel | |
MapView|SceneView | 与微件关联的视图。 更多详情 | TrackViewModel |
属性详细信息
-
起始版本:GeoScene Maps SDK for JavaScript 4.7
-
类的名称。声明的类名称格式化为
geoscene.folder.className
。
-
geolocationOptions Object
-
用于设置可选位置参数的对象。有关使用这些参数的详细信息,请参阅 Geolocation API 规范。
- 默认值:null
示例const track = new Track({ view: view, // Set optional position paramters geolocationOptions: { maximumAge: 0, timeout: 15000, enableHighAccuracy: true } });
-
goToLocationEnabled Boolean
-
指示是否将视图导航到地理定位结果的位置和比例。
- 默认值:true
-
goToOverride GoToOverride起始版本:GeoScene Maps SDK 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); };
-
graphic Graphic
-
用于在地图上显示用户位置的图形。
示例const trackWidget = new Track({ // Assign the track widget to a view view: view, // Overwrite the default symbol used for the // graphic placed at the location of the user graphic: new Graphic ({ symbol: { // autocasts as new SimpleMarkerSymbol() type: "simple-marker", size: "12px", color: "blue", // autocasts as new SimpleLineSymbol() outline: { color: "#efefef", width: "1.5px" } } }) });
-
scale Number起始版本:GeoScene Maps SDK for JavaScript 4.7
-
指示在从 track 事件返回位置后,导航到地理定位结果的位置时,在视图上设置的比例。
默认情况下,视图将导航到
2500
(3D) 和4514
(2D) 的比例。要覆盖 2D 中的默认值,请设置scale
属性,并将 snapToZoom 设置为false
。对于 2D 视图,该值应在 effectiveMinScale 和 effectiveMaxScale 之间。- 默认值:null
-
state Stringreadonly
-
微件的当前状态。
可能值:"disabled"|"ready"|"tracking"|"waiting"
- 默认值:disabled
-
tracking Booleanreadonly
-
指示是否正在监视新位置。
- 默认值:false
-
与微件关联的视图。
方法概述
名称 | 返回值类值 | 描述 | 类 |
---|---|---|---|
添加一个或多个与对象的生命周期相关联的句柄。 更多详情 | Accessor | ||
Boolean | 在实例上触发事件。 更多详情 | TrackViewModel | |
Boolean | 指示实例上是否存在与提供的事件名称相匹配的事件监听器。 更多详情 | TrackViewModel | |
Boolean | 如果存在指定的句柄组,则返回 true。 更多详情 | Accessor | |
Object | 在实例上注册事件处理程序。 更多详情 | TrackViewModel | |
移除对象拥有的句柄组。 更多详情 | Accessor | ||
执行时,追踪将从用户的位置开始。 更多详情 | TrackViewModel | ||
执行时,停止追踪用户的位置。 更多详情 | TrackViewModel |
方法详细说明
-
addHandles(handleOrHandles, groupKey)inherited起始版本:GeoScene Maps SDK for JavaScript 4.25
-
添加一个或多个与对象的生命周期相关联的句柄。当对象被销毁时,将移除句柄。
// Manually manage handles const handle = reactiveUtils.when( () => !view.updating, () => { wkidSelect.disabled = false; }, { once: true } ); // Handle gets removed when the object is destroyed. this.addHandles(handle);
参数handleOrHandles WatchHandle|WatchHandle[]对象销毁后,标记为要移除的句柄。
groupKey *optional标识句柄应添加到的组的键。组中的所有句柄稍后都可使用 Accessor.removeHandles() 进行删除。如果未提供键,则句柄将被添加到默认组。
-
emit(type, event){Boolean}起始版本:GeoScene Maps SDK for JavaScript 4.5
-
在实例上触发事件。仅当创建此类的子类时,才应使用此方法。
参数type String事件的名称。
event Objectoptional事件有效负载。
返回类型 描述 Boolean 如果监听器收到通知,则为 true
-
hasEventListener(type){Boolean}
-
指示实例上是否存在与提供的事件名称相匹配的事件监听器。
参数type String事件的名称。
返回类型 描述 Boolean 如果类支持输入事件,则返回 true。
-
起始版本:GeoScene Maps SDK for JavaScript 4.25
-
如果存在指定的句柄组,则返回 true。
参数groupKey *optional组键。
返回类型 描述 Boolean 如果存在指定的句柄组,则返回 true
。示例// Remove a named group of handles if they exist. if (obj.hasHandles("watch-view-updates")) { obj.removeHandles("watch-view-updates"); }
-
on(type, listener){Object}
-
在实例上注册事件处理程序。调用此方法将事件与监听器挂钩。
参数要侦听的事件或者事件数组。
listener Function事件触发时要调用的函数。
返回类型 描述 Object 返回具有 remove()
方法的事件处理程序,可调用该方法来停止侦听事件。属性 类型 描述 remove Function 调用时,从事件中移除侦听器。 示例view.on("click", function(event){ // event is the event handle returned after the event fires. console.log(event.mapPoint); });
-
removeHandles(groupKey)inherited起始版本:GeoScene Maps SDK for JavaScript 4.25
-
移除对象拥有的句柄组。
参数groupKey *optional要移除的组键或组键的数组或集合。
示例obj.removeHandles(); // removes handles from default group obj.removeHandles("handle-group"); obj.removeHandles("other-handle-group");
-
start()
-
执行时,追踪将从用户的位置开始。
-
stop()
-
执行时,停止追踪用户的位置。
事件概述
名称 | 类型 | 描述 | 类 |
---|---|---|---|
{position: Object} |
在调用 start() 方法并找到位置后触发。 更多详情 |
TrackViewModel | |
{error: Error} |
在调用 start() 方法并返回错误后触发。 更多详情 |
TrackViewModel |
事件详细说明
-
track
-
在调用 start() 方法并找到位置后触发。
- 属性
-
position Object
从 Geolocation API 返回的地理位置。