首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

ArcGIS API for JavaScript 3.3版本公布

2013-01-19 
ArcGIS API for JavaScript 3.3版本发布arcgis_js_v33_API.zip下载地址:http://vdisk.weibo.com/s/nx2AM/1

ArcGIS API for JavaScript 3.3版本发布

arcgis_js_v33_API.zip下载地址:http://vdisk.weibo.com/s/nx2AM/1358216078

arcgis_js_v33_sdk.zip下载地址:http://vdisk.weibo.com/s/nwUDp/1358216099


ESRI 发布了最新了3.3版的ArcGIS API for JavaScript,并且更新了帮助的界面。

ArcGIS API for JavaScript 3.3版本公布
 
 图 1.1 ArcGIS API for JavaScript 3.3版帮助界面  
ArcGIS API for JavaScript 3.3版本公布

图1.2 ArcGIS API for JavaScript 3.2版帮助界面

1、新的地理编码控件使用ArcGIS API for JavaScript 3.3版仅需要几句简单的代码就可以给自己的应用程序添加地理查询框控件。虽然该控件默认采用的是ArcGIS Online的世界地理编码服务(World Geocoding Service),但是也可以自定义采用一至多个ArcGIS Server中的地理编码服务。

ArcGIS API for JavaScript 3.3版本公布
 图 2.1 新的地理编码查询控件

点击samples that use thisnew widget 查看


2、新的地图构造函数选项在ArcGIS API for JavaScript 3.3版中map类的新的构造函数选项能帮助用户使用简洁的代码快速的构建地图应用。
? basemap:ArcGIS.com 的地理底图。可能的值有:"streets", "satellite", "hybrid", "topo", "gray", "oceans", "national-geographic" 或者"osm"。
? center: 以经度和纬度组成的坐标数组或者一个点。
? zoom:地图的缩放级别。
? minZoom: 地图的最小缩小级别。
? maxZoom: 地图的最大放大级别。
在新的接口中,地图采用自动缩放,因此不再需要在地图容器端设立事件监听,监听地图容器大小变化来改变地图范围。 
下图是在3.3 版本和3.3 以前的版本中,加载地图的代码对比图。
ArcGIS API for JavaScript 3.3版本公布
图 2.2  新版和之前版本加载地图的对比图


3、更简单的底图切换在新版API中,新增加了两个地图方法,getBasemap 和setBasemap,使得底图的切换更加的方便。setBasemap 接收上文提到的basemap的名字字符串,并转换其在ArcGIS.com 中相对应的底图。如果在应用程序中使用map.options.basemap或者setBasemap方法来初始化底图,则采用getBasemap方法能返回当前的地理底图的名字的字符串。 


4、默认的地图微缩放控制在新的API中地图的微缩放控制通过“+”和“-”来取代滑块成为地图的微缩放默认的控制方式,而通过将地图的构造函数中选项中的sliderStyle属性设置为“large”依然可以使用滑块形式。


5、地图的图层中可以只包含一个图形层或者要素层在3.3版中,map不再必须要求先添加切片或者动态服务后才能添加其他图层,可以直接添加图形或者要素图层。查看 Feature Layer in anyprojection sample 或者 gas prices by stateexample 来查看新的该特性。


6、提升了经纬度坐标的操作esri.geometry 对象在创建的过程中如果没有赋予空间参考,被假定采用的是地理坐标系并且被默认为采用WGS 84 (wkid 4326)。在新版的API 中esri.geometry.Point 的实例新增加了getLatitude 和getLongitude的方法,如果点具有地理坐标或者网络墨卡托坐标,则通过这两个方法可以获取点的经度和纬度,反之,则这两方法返回undefined。如果当map具有地理坐标系或者网络墨卡托坐标,则使用geographicExtent属性获取地理范围。


7、绘图工具的加强绘图工具条中的矩形,三角形,圆和椭圆工具支持鼠标的单击和拖拽来控制图形的范围。在新版API中工具条也能绘制上、下、左、右等特定方法的箭头。这些新的功能可以在drawing tools sample中可以查看。


8、附加功能?要素图层中的新redraw方法可以在无须返回到服务的情况下可以重绘要素。
? 通过传递函数来取代使用一类别的属性字段名渲染或者唯一值渲染来计算需要渲染的数据值。可以 查看USCounty population change over time sample。
? 类别渲染中的setMaxInclusive方法用来指明符合某一symbol类的最大值的要素是否应该包含在类中。
? 编辑工具条新添加了uniformScaling这一选项,该选项在图形大小变化的过程中保持了图形的纵横比不变。


9、新增加了实例

·       Createa map using new simple options

·       GeocoderWidget

·       GeocoderWidget with custom options

·       GeocoderWidget with custom style

·       GeocoderWidget using a suffix to restrict search area

·       Locatepoints of interest(POIs)

·       Featurelayer in any projection

·       Featurelayer with no basemap

·       Dailygas prices by state mashed up with a feature layer

        Rendererusing a function to determine feature symbols


10、突破性变化?创建geometry无须指定具体的空间参考,当没有具体的空间参考时,API默认采用WGS84 (wkid 4326)。在应用程序中创建过去的那种非WGS84 坐标的几何图形时,如果没有空间参考则现在必须为几何图形指定具体的空间参考。
? map的默认的缩放滑块样式在发生了变化。创建地图时,带有刻度的滑块不再是默认的样式,但是可以通过将sliderStyle的属性设置为"large" 来恢复到先前的样式。
? 当dijits layout 和data-dojo-config(或dojoConfig)的locale或者extraLocale路径没设置的时,使用了lang=“en”的应用程序会遭到破坏。为了避免此类错误,推荐设置data-dojo-config中的locale或者extraLocale路径或者移除lang=“en”属性,否则在Chrome浏览器中会出现 “dojo/parser::parse() error TypeError”的错误,在Firefox中则会出现错误“TypeError:_72f(...) is undefined”。查询更多的错误信息可以浏览网站http://trac.dojotoolkit.org/ticket/15630#comment:7 和http://trac.dojotoolkit.org/ticket/15768#comment:6


11、增强功能和Bug的修复?NIM087469:ArcGISDynamicMapServiceLayer.setDynamicLayerInfos()不能正确的从JSON创建esri.layers.DynamicLayerInfo对象。
? NIM087472:在同一页面上无法创建多时相的滑块。
? NIM087503:仪表控件到AMD的转换。
? NIM087504 :图例控件到AMD的转换。
? NIM087499 Editor:当指定自定义的属性时,空的检查对话框会在选择要素的时候弹出。
? NIM087510:当使用压缩构建的API时esri.layers.WebTiledLayer无效。这是因该类没有显示的声明dojo.stirng,而采用dojo.string的替代。
? NIM088028:esri.request 允许上传文件使用FormData形式,而浏览器能对FormData的支持。
? NIM087511:将esri._isDefined方法修改为public方法esri.isDefined。
? NIM087500:在3.2 的FeatureLayer 中划线不显示。
? NIM087507 IdentityManager:修复了令牌生成的参考。
? NIM087512 IdentityManager:通过geowarehouse server 的返回传递error.messageCode的属性。
? NIM088031 :从map中移除某一图层后,再将该图层添加到map中时,图层不可视。
? NIM088024 Legend widget:不添加margin为1的地图比例。
? NIM087513 Popup:提供对shortDateLongTime和shortDateLongTime24两种时间格式的支持。
? NIM088027 Popup:如果某一要素所在的图层不具有SHAPE字段,则该要素无法显示。
? NIM088032 Popup:移除了图片和图表的边框和背景颜色。
? NIM087501 Portal:添加getPortalUser方法,该方法返回当前登录PortalUser的对象。
? NIM087505 Portal:当调用Portal.signOut方法时出现null 异常。
? NIM088021 Printing: 给esri.tasks.printTemplate添加新属性作为“:”“showAttribution”为输出开关控制。
? NIM088026 Printing:当要素集中的要素不具有几何形体,则打印任务中应该不包括这些要素。
? NIM088030 Printing:打印任务应该排除那些通过JavaScript API KMLLayer.js转换过来的图层,因为打印服务不知KML文件夹。相反应该发送graphic slayers或者mapImageLayers作为工作区。
? NIM088035 Printing:PrintTask 应该排除非法的图片,这些图片来自MapImageLayer包含非法的URL或者ImageData属性。
? NIM088029 Printing: esri.tasks.printTemplate.layeroutOptions支持customTextElements属性。
? NIM085927 Printing:当执行打印时,基于要素图层创建的要素集应该在图例中显示图层名或者图层ID。
? NIM088023:当链接到一个交叉的时间或者超过原先的范围的时候保存正常的范围。
? NIM088034 :支持 directionsOutputType 和 directionsStyleName 参数 到 RouteParameters 和 ClosestFacilityParameters。
? NIM088033:esri.esri.tasks.ClosestFacilityParameters.directionsTimeAttribute的默认值应该为“null”而不是“false”。
? NIM088025:当在FireFox和IE中创建TimeExent对象,指定起始时间和终止时间时会丢失毫秒的精度。
? NIM083409 :当编辑的属性为0, applyEdits 发送空的字符串。.
? NIM088022:map空间在IE7中预览时显示esri的logo。


Dojo 1.8
ArcGIS API for JavaScript 3.3版采用了Dojo 1.8。

热点排行