uniapp+arcgis系列(二): 在外部调用arcgis api,地图加载完成事件


uniapp+arcgis系列目录:

一、地图加载完成事件

arcgis api for js 4.x的事件和3.x有所不同。

3.x的加载完成事件是绑定在map上的,4.x的事件是绑定在mapView上的,这里的view就是我们定义的mapView噢。

像这样:

					// 地图加载完成事件
					view.when(function() {
						console.log("地图加载完成了!");
					});
					

为了保证外部在调用地图相关的方法和属性时,地图已经加载完毕,建议把createMapView写成promise,在then()里执行后续的操作。

代码放和下面的内容合并放出来

二、在外部调用arcgis api

系列一解释了如何加载地图和api,这是在renderJS的method的方法createMapView()中加载的,也就是只能在createMapView()内部才能调用arcgis 的api。

当我们需要在createMapView()方法外部调用arcgis api的时候:

  • 在render JS的data{return{}}里定义全局变量,myMapObject

  • 在createMapView()中为这个对象定义方法 this.myMapObject.myMapMethod = function(){...}

  • 外部调用的时候,this.myMapObject.myMapMethod()这样调用就好了

注意: Render事Render毕,这里只针对RenderJS内部,需要从逻辑层直接调RenderJS内部的方法,那是另外的价钱hhh

上代码:










控制台输出

相关