一提到Esri大家首先想到的是庞大的ArcGIS产品大家族,其产品包含从桌面端,到服务器/云端,再到web/移动端。作为一名极客,不聊开源逼格似乎上不去啊。其实,Esri作为一个开放的平台,不仅有稳定强大的商业软件也有很多好玩实用的开源项目。今天我们就来聊聊Esri的那些JS的开源项目。

首先要给大家隆重介绍一下Esri在Github上的主页(这年头,没个Github主页都不好意说自己是程序员)

http://esri.github.io/

里面有众多Esri的开源项目,不仅有JavaScript的还有C++、C#、python、Java…那为啥今天只聊JS开源,那是…其实小编是做前端的啦,嘿嘿!

通过组织内搜索,我们找到了155个JavaScript的项目,当然这里面有很大一部分都是小的实验项目,今天小编就为大家介绍几个实用的开源项目。

  • esri-leaflet

leaflet是一个轻量级的展现交互式地图的开源的JavaScript库。其官网的访问地址为:http://leafletjs.com/

Esri在其基础上扩展了这个库的服务接入能力,使其可以接入ArcGIS服务器发布的切片服务、要素服务、动态地图服务以及影像服务。这个库对于Esri来说并不是要替代原有的ArcGIS API for JavaScript,而是为WebGIS的开发提供一个新的选择,利用leaflet可以快速上手构建一个基于地图展示的简单WebGIS应用,想开发一个功能强大的WebGIS?想展示三维模型?还是老老实实用ArcGIS API for JavaScript吧!

esri-leaflet库的文档及demo访问地址:http://esri.github.io/esri-leaflet/

开源库的Github下载地址为:https://github.com/Esri/esri-leaflet

  • bootstrap-map-js

提到bootstrap前端开发人员应该都有所耳闻,因其漂亮的UI和方便的调用广泛的应用于Web端的程序的界面设计(https://getbootstrap.com/)。那你是否尝试将bootstrap与ArcGIS API for JavaScript配合使用?相信大多数人使用bootstrap是采用bootstrap+jquery的形式,殊不知bootstrap早已开发出了dojo扩展模块(http://xsokev.github.io/Dojo-Bootstrap/

bootstrap-map-js项目在bootstrap库的基础上开发了一个轻量级的扩展插件用来构建地图应用(目前还只能用于3.x版本的ArcGIS API for JavaScript)通过bootstrap-map-js可以在地图上添加bootstrap风格的控件,并且可以实现多种屏幕尺寸应用的自适应效果。

因为ArcGIS API for JavaScript是基于dojo构建的,所以这个库的引用方式有两种,一种是dojo+jquery的方式另外一种是纯dojo的方式。

文档及在线demo可以访问:http://esri.github.io/bootstrap-map-js/demo/

开源项目下载地址为:https://github.com/Esri/bootstrap-map-js

给大家感受一下bootstrap风格的WebGIS应用,是不是跟平时的demo画风不太一样…

另外在ArcGIS API for JavaScrip 4.0中UI进一步的开放,不仅bootstrap,其他的第三方UI库也能方便的接入到应用中。

  • angular-esri-map

要说今年什么前端库最火,jQuery?no,那已经成为过去时了,最火的前端库非AngularJS莫属,Angular.js 是一个MV*(Model-View-Whatever,不管是MVC或者MVVM,统归MDV(model Drive View))JavaScript框架,其是Google推出的SPA(single-page-application)应用框架,其为我们的web应用开发增加不少魔法变换。官网地址:https://www.angularjs.org/

angular-esri-map正是在此基础上对ArcGIS API for JavaScript进行封装使其可以在AngularJS中使用,Angular 1.x可以使用ArcGIS API 3.15以上版本,Angular 2.0可以使用ArcGIS API for JavaScript 4.0版本(也就是说可以支持3D展示)。

文档及demo的在线访问地址为:http://esri.github.io/angular-esri-map/#/home 。

开源项目地址为:https://github.com/Esri/angular-esri-map

  • Story Maps

还记得上个星期那一组炫酷的地图故事模板么?地图与炫酷的插图和视频声音等多媒体配合真正的将地图成为讲述故事的一种方式。

地图故事集合的访问地址:http://storymaps.arcgis.com/en/

更让人兴奋的是,地图故事都是基于JavaScript开发的,并且其源码都是在Github上开放的,这也就意味着,你可以对地图故事的讲述方式进行自定义的修改,点击每个地图故事,最后都会有一个Github的下载页面。

点击即可进入Github的下载页面,这里我就不一一贴地址了…

Esri的开源JS项目杂谈的更多相关文章

  1. 开源 iOS 项目分类索引大全 - 待整理

    开源 iOS 项目分类索引大全 GitHub 上大概600个开源 iOS 项目的分类和介绍,对于你挑选和使用开源项目应该有帮助 系统基础库 Category/Util sstoolkit 一套Cate ...

  2. [Node.js] Node.js项目的持续集成

    原文地址:http://www.moye.me/2016/03/03/nodejs_ci_by_jenkins 引子 持续集成 (Continuous Integration,简称CI)是一种软件工程 ...

  3. 常用开源GIS项目

    常用开源GIS项目     常用开源桌面GIS软件 QGIS 始于2002年5月,算得上是开源GIS平台中的后起之秀.界面友好,分析功能可与GRASS GIS相媲美.主页:http://www.qgi ...

  4. 开源 iOS 项目分类索引大全

    GitHub 上大概600个开源 iOS 项目的分类和介绍,对于你挑选和使用开源项目应该有帮助 系统基础库 Category/Util sstoolkit 一套Category类型的库,附带很多自定义 ...

  5. Node.js项目APM监控之New Relic

    现在上一个项目,如果没有APM监控服务或应用的运行性能参数,等于是一架没有盲降系统的飞机正在盲降,结果会很悲催.出现了访问失效等问题时,都很难判定是性能瓶颈还是一个藏的深的bug,汇报的时候一顿眼晕, ...

  6. ASP.NET Core 开源论坛项目 NETCoreBBS

    ASP.NET Core 轻量化开源论坛项目,ASP.NET Core Light forum NETCoreBBS 采用 ASP.NET Core + EF Core Sqlite + Bootst ...

  7. arcgis api for js之echarts开源js库实现地图统计图分析

    前面写过一篇关于arcgis api for js实现地图统计图的,具体见:http://www.cnblogs.com/giserhome/p/6727593.html 那是基于dojo组件来实现图 ...

  8. arcgis api 3.x for js 之 echarts 开源 js 库实现地图统计图分析(附源码下载)

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...

  9. Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验

    vee-validate 是为 Vue.js 量身打造的表单校验框架,允许您校验输入的内容并显示对应的错误提示信息.它内置了很多常见的校验规则,可以组合使用多种校验规则,大部分场景只需要配置就能实现开 ...

随机推荐

  1. SQL Server触发器

    一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活.所以触发器可以用来实现对表实施复杂的完整性约`束. 二﹕ SQL Server为每个触发 ...

  2. Python中print函数输出时的左右对齐问题

    为了将print函数输出的内容对齐,笔者在http://www.jb51.net/article/55768.htm中找到了左右对齐的方法.整理如下: 一.数值类型(int.float) #  %d. ...

  3. tftp服务器简单安装配置

    tftp服务器最简单安装配置 1.安装tftp-server sudo apt-get install tftpd-hpa sudo apt-get install tftp-hpa(如果不需要客户端 ...

  4. Python中两种处理错误方法的比较

    我所说的处理错误的方法,其实是try:,except和raise这两种. 首先抛出一个实例, dictt={'a':1,'b':2,'c':3} try: if dictt['d']>1: #字 ...

  5. 3d转换-正方体-Html5Css3-遁地龙卷风

    (-1) 写在前面 我用的是chrome49,这个案例是从网上看到的,向这位同行致敬,建议大家在记录自己学习感悟时,向我一样加上笔名,被转载的时候还能留下点东西. 在研究slice-box.js的时候 ...

  6. Sicily 1151: 简单的马周游问题(DFS)

    这道题嘛,直接使用DFS搜索,然后莫名其妙地AC了.后来看了题解,说是move的顺序不同的话可能会导致超时,这时便需要剪枝,真是有趣.原来自己是误打误撞AC了,hhh.题解还有另一种解法是先把一条完整 ...

  7. java中 IndexOf()、lastIndexOf()、substring()的用法

    public int indexof(String str)返回字符串中出现str的第一个位置 public int indexof(String str,int fromIndex)返回字符串中从f ...

  8. 【Winform】使用BackgroundWorker控制进度条显示进度

    许多开发者看见一些软件有进度条显示进度,自己想弄,项目建好后发现并没有自己想象中的那么简单...看了网上很多教程后,写了一个小Demo供网友们参考~~,Demo的网址:http://pan.baidu ...

  9. 419. Battleships in a Board

    https://leetcode.com/problems/battleships-in-a-board/ 给定一个N×N的棋盘,有任意数量的1×N或N×1大小的"船",注意船船之 ...

  10. js随机生成颜色代码

    function generyRandomColor() { return '#' + ('00000' + (Math.random() * 0x1000000 << 0).toStri ...