最近因为工作的需要,把主流的的一些GIS的javascript库看了一遍,主要是ArcGIS Server API for Javascript,Openlayers和Leaflet。
  先说说ArcGIS Server API for Javascript,功能很强大,但是功能的强大也意味着体积很大,如果你需要的功能复杂了,一次加载js文件的量是很大的,就算有缓存,对于手机用户来说,第一次加载的速度和需要的流量也是不可接受的。有趣的是,我问客服,你们的API太大了,很吃配置,怎么办?客服说,这不挺好嘛,客户有理由采购设备了啊……X!X!X!我们做的是面向普通消费者的,不是那些财大气粗的土豪用户,我们的客户花的都是自己的钱!
  Leaflet其实是一个很不错的选择,体积很小,但是它有一个很大的限制,就是只识别WGS 1984 Web Mercator (Auxiliary Sphere)坐标系,这个坐标系是Google Map,Bing Map,ArcGIS Online等服务支持的坐标系,所以,如果是基于这些地图服务或者相同坐标系的地图服务的话,Leaflet是绝对的首选。你的坐标系如果是自定义的就别多想了,果断放弃使用Leaflet吧!
  最后说说今天的主角OpenLayers,Openlayers相对ArcGIS Server API for Javascript来说已经小了很多了,但是对于手机用户来说,完整版的Openlayers还是太大了,越小越好啊!Openlayers不愧是开源的(这也许是我的偏见),很贴心,它提供了API的功能,说来也很简单,去官网下载完整版的源码,里面有一个叫build的文件夹,里面有自定义Openlayers API的详细步骤,我这里就不多说了。说一下我的一点经验吧,先仔细看看openlayers的API结构,再在openlayers的mobile api基础上精简定制,这样比用完整版的API要省很多事,不过还有一种很暴力的方式,就是一个一个的删API,每删一个看看自己需要的功能还能不能用,这样可以把API精简到最小,不过是个体力活。
  好啦,一点经验,希望能让需要的人少走些弯路……

OpenLayers的定制的更多相关文章

  1. OpenLayers项目分析——(一)项目介绍

    OpenLayers 是由MetaCarta公司开发的,用于WebGIS客户端的JavaScript包,目前的最高版本是2.7 V,通过BSD License 发行.它实现访问地理空间数据的方法都符合 ...

  2. 基于ArcGIS API for Javascript的地图编辑工具

    最近工作上需要用ArcGIS API for Javascript来开发一个浏览器上使用的地图编辑工具,分享一下一些相关的开发经验. 我开发的地图编辑工具是根据ESRI提供的例子修改而来的,参考的例子 ...

  3. [转]Geoserver全面了解

    From:http://www.cnblogs.com/ada-zheng/archive/2013/07/16/3192921.html Geoserver是一个功能齐全,遵循OGC开放标准的开源W ...

  4. Geoserver

    Geoserver是一个功能齐全,遵循OGC开放标准的开源WFS-T和WMS服务器.利用Geoserver可以把数据作为maps/images来发布(利用WMS来实现)也可以直接发布实际的数据(利用W ...

  5. openlayers中的自定制工具栏,包含画点、线、面

    先是在projectquantan-master这个项目中有一个EditingPanel这个工具条,也挺好的,功能挺全的,但是有一点就是只有画多边形的一个按钮,没有point和path俩个的,所以就想 ...

  6. Openlayers简介

    OpenLayers 是由MetaCarta公司开发的,用于WebGIS客户端的 JavaScript包,目前的最高版本是2.5 V,通过BSD License 发行.它实现访问地理空间数据的方法都符 ...

  7. OpenLayers 项目完整分析——(二)源代码总体结构分析

    转自:http://www.cnblogs.com/lzlynn/archive/2008/07/29/1255848.html 二)源代码总体结构分析 通过前面的项目介绍,我们大概已经知道Openl ...

  8. openLayers 3知识回顾

    openlayers 知识 前段时间帮助同事重构一个地图类的项目,然后就学习了openLayer3这个框架,但是官网上没有中文版,也没有详细的例子解释,我只能遇到看不懂的就翻译成中文来用,为了方便以后 ...

  9. OpenLayers 3 之 地图视图(View)

    OpenLayers 3 之 地图视图(View) 初始化一幅地图,必备的三要素之一视图(view),这个对象主要是控制地图与人的交互,如进行缩放,调节分辨率.地图的旋转等控制.也就是说每个 map对 ...

随机推荐

  1. 解析Javascript事件冒泡机制

    本资源引自: 解析Javascript事件冒泡机制 - 我的程序人生 - 博客频道 - CSDN.NET http://blog.csdn.net/luanlouis/article/details/ ...

  2. SQLiteOpenHelper类

    SQLiteOpenHelper是管理数据库的工具类. 下面提供一个模板: package com.example.intelligencecontrol.utils; import android. ...

  3. TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库

    TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库 SVN客户端程序:TortoiseSVN SVN服务器程序:VisualSVN-Server ######## ...

  4. 数据仓库之启用cdc

    准备工作: 先将sqlservere 代理服务启动 USE [MyDB]; GO EXECUTE sys.sp_cdc_enable_db; --启用数据库对CDC的支持 GO -- 设置别名 @ca ...

  5. Ubuntu下安装中文输入法

    搜狗输入法 for Linux 是基于Fcitx 框架(fcitx-sogoupinyin). 安装环境为Ubuntu 13.04 安装过程: 卸载Ubuntu默认的ibus输入法: sudo apt ...

  6. Form 引用方法库

    进入注册表,win+R 输入:regedit,找到HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE ,在右侧找到:FORMS60_PATH,双击,把方法库的路径以英 ...

  7. Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理5

    我们先直接拷贝下blank.html这个页面的代码,顺带先建立一个Home控制器,并添加Index视图.将代码拷贝进去. <!DOCTYPE html> <html lang=&qu ...

  8. linux 安装tomcat中间件

    1.首先确认是否已安装jdk.配置好所需要的环境变量,如果未安装好,则需要安装jdk和配置好正确的环境变量. 检查是否安装jdk及环境变量配置:#java -version. 2.如上述安装并配置正确 ...

  9. TCP协议

    TCP是一个面向连接的协议,在发送数据之前,必须在双方之间建立一条连接. TCP首部 TCP数据封装在IP数据报中 TCP包首部 下面简单说明部分字段的作用: 端口号:通讯双方由IP地址和端口号标识. ...

  10. 【Windows编程】系列第七篇:Menubar的创建和使用

    上一篇我们学习了利用windows API创建工具栏和菜单栏,与上一篇紧密联系的就是菜单栏,菜单栏是一个大多数复杂一些的Windows应用程序不可或缺的部分.比如下图就是Windows自带的记事本的菜 ...