openlayers workshop

preview
需积分: 0 2 下载量 8 浏览量 更新于2011-07-04 收藏 1.74MB PDF 举报
openlayers 经典教程 an Open Source map viewing framework written in JavaScript” - an alternative to commercial mapping APIs - considered by some hard to use and too complex – I am going to try and dispel some of that myth! - designed to integrate well with existing GIS web servers as well as neogeograpy 'standards' ### OpenLayers概述与应用 #### 一、OpenLayers简介 OpenLayers是一款开源的地图查看框架,由JavaScript编写而成。它作为商业地图API的一种替代方案,在地理信息系统(GIS)领域有着广泛的应用。尽管有人认为OpenLayers使用起来较为复杂,但通过本教程的学习,我们将揭开其神秘面纱,帮助用户更轻松地掌握这一强大的工具。 #### 二、OpenLayers的特点 1. **开源性**:OpenLayers是完全开源的,这意味着开发者可以自由地对其进行修改和扩展。 2. **灵活性**:它支持多种地图数据源,包括矢量图层、栅格图层等,并且能够很好地与现有的GIS网络服务器集成。 3. **兼容性**:OpenLayers不仅兼容传统的GIS标准,还支持新兴的Web GIS技术标准,如WMS(Web Map Service)、WFS(Web Feature Service)等。 4. **丰富的功能集**:提供了大量的地图操作功能,如缩放、平移、图层管理等,同时也支持地理编码、空间查询等功能。 #### 三、OpenLayers的应用案例 OpenLayers在多个领域得到了广泛应用: 1. **体育场馆网站**:例如英国著名的板球场——洛德板球场网站就采用了OpenLayers来提供地图服务。 2. **开放街道地图(OpenStreetMap)**:OpenStreetMap及其众多子项目也使用了OpenLayers。 3. **德国地图服务**:ÖPNVKARTE.DE等德国地图服务网站利用OpenLayers实现了地图浏览功能。 4. **地图2.0服务**:AND的Map 2.0就是基于OpenLayers构建的地图服务平台。 5. **地理信息系统项目**:西班牙的CartoCiudad以及Cartovisor API项目、法国的Institut Géographique National (IGN) 的Geoportail API等都使用了OpenLayers。 6. **政府项目**:英国国家测量局的OpenSpace API、美国白宫官方网站等政府项目中也出现了OpenLayers的身影。 #### 四、OpenLayers入门指南 1. **创建基础代码**:要开始使用OpenLayers,首先需要创建一个包含基本代码的文本文件。以下是一个简单的示例: ```html <html> <head> <title>OpenLayers Workshop 1</title> <script src="http://openlayers.org/api/OpenLayers.js"></script> <script> function start() { var map = new OpenLayers.Map("map_box"); } </script> </head> <body onload="start()"> <h1>OpenLayers Workshop Example 1</h1> <div id="map_box"></div> </body> </html> ``` 2. **解析代码**: - `<html>`:定义HTML文档的基本结构。 - `<head>`:头部信息,包含标题和外部脚本引用。 - `<script src="http://openlayers.org/api/OpenLayers.js"></script>`:引入OpenLayers库。 - `<script>`:定义了一个名为`start`的函数,用于初始化地图。 - `function start()`:当页面加载完成后执行的函数。 - `var map = new OpenLayers.Map("map_box");`:创建一个新的OpenLayers地图实例,并将其放置在ID为`map_box`的HTML元素中。 - `<body onload="start()">`:设置页面加载完成时执行`start`函数。 - `<div id="map_box"></div>`:定义了一个ID为`map_box`的容器,用于显示地图。 3. **样式定制**:可以通过HTML和CSS方法对页面进行样式定制,使其更加美观。 通过以上介绍,我们可以看到OpenLayers的强大功能和广泛应用。对于希望深入学习和应用OpenLayers的开发者来说,这是一个非常好的起点。