一提到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. vtkTransform实例 1

    1. 4*4矩阵类vtkMatrix4x4 接口函数:void SetElement(int i, int j, double value),i行.j列的值为value #ifndef INITIAL ...

  2. 集中日志服务器Rsyslog

    http://www.gaizaoren.org/archives/408 基于主机的管理一般需要收集服务器的日志信息用于及时发现错误,处理故障. 搭建linux下的集中日志服务器的程序一般可以用sy ...

  3. Fiddler将笔记本设置代理,抓取手机网络请求包

    第一步:下载fiddler,下载地址:http://www.telerik.com/download/fiddler 第二步:安装fiddler,略过... 第三步:启动fiddler,启动后界面如下 ...

  4. python 解压 压缩包

    转 http://m.blog.csdn.net/blog/wice110956/26597179# 这里讨论使用Python解压如下五种压缩文件: .gz .tar  .tgz .zip .rar ...

  5. 将Vuforia程序发布到Windows10系统的基本流程

    最新博客地址已转到: http://blog.csdn.net/zzlyw?viewmode=contents   ------------------------------------------ ...

  6. android gpio口控制

    android gpio口控制  GPIO口控制方式是在jni层控制的方式实现高低电平输出,类似linux的控制句柄方式,在linux系统下将每个设备看作一个文件,android系统是基于linux内 ...

  7. CSS3实现鼠标移动到图片上图片变大

    CSS3实现鼠标移动到图片上图片变大(缓慢变大,有过渡效果,放大的过程是有动画过渡的,这个过渡的时间可以自定义 <!DOCTYPE html><html> <head&g ...

  8. 【Network】OVS基础知识

    本文主要介绍Open VSwitch - 虚拟交换机的概述内容,阅读本文可以对OVS(Open VSwitch)有一个大致的了解.那么本文主要回答了这样几个问题: 1. 虚拟交换机是什么,干什么? 2 ...

  9. 某互联网后台自动化组合测试框架RF+Sikuli+Python脚本

    某互联网后台自动化组合测试框架RF+Sikuli+Python脚本 http://www.jianshu.com/p/b3e204c8651a 字数949 阅读323 评论1 喜欢0 一.**Robo ...

  10. NodeJS 模块开发及发布详解

    NodeJS 是一门年轻的语言,扩展模块并不太全,经常我们想用某个模块但是却找不到合适的.比如前两天我需要使用hmac和sha1来做签名,就没有找到一个比较好用的模块,这时候就需要我们自己来实现相应的 ...