TrackViewModel

AMD: require(["geoscene/widgets/Track/TrackViewModel"], (TrackVM) => { /* 代码 */ });
ESM: import TrackVM from "@geoscene/core/widgets/Track/TrackViewModel";
类: geoscene/widgets/Track/TrackViewModel
继承于: TrackViewModel Accessor
起始版本: GeoScene API for JavaScript 4.22

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");

构造函数

new TrackViewModel(properties)
参数:
properties Object
optional

所有可传入构造函数的属性,请参见属性列表

属性列表

可以设置、检索或监听的属性。参见 使用属性
展示继承属性 隐藏继承属性
属性 类型 描述
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

属性详细说明

declaredClass Stringreadonly inherited
起始版本: 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 Object
optional

事件负载。

返回值:
类型 描述
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 返回的地理位置。

track-error

在调用 start() 方法并返回错误后触发。

Property:
error Error

如果在跟踪时发生错误,则返回 Error 对象。

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.