openlayers

OpenLayers

Github星跟蹤圖

OpenLayers

OpenLayers is a high-performance, feature-packed library for creating interactive maps on the web. It can display map tiles, vector data and markers loaded from any source on any web page. OpenLayers has been developed to further the use of geographic information of all kinds. It is completely free, Open Source JavaScript, released under the BSD 2-Clause License.

Getting Started

Install the ol package:

npm install ol

Import just what you need for your application:

import Map from 'ol/Map';
import View from 'ol/View';
import TileLayer from 'ol/layer/Tile';
import XYZ from 'ol/source/XYZ';

new Map({
  target: 'map',
  layers: [
    new TileLayer({
      source: new XYZ({
        url: 'https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png'
      })
    })
  ],
  view: new View({
    center: [0, 0],
    zoom: 2
  })
});

See the following examples for more detail on bundling OpenLayers with your application:

IntelliSense support and type checking for VS Code

The ol package contains a src/ folder with JSDoc annotated sources. TypeScript can get type definitions from these sources with a jsconfig.json config file in the project root:

{
  "compilerOptions": {
    "checkJs": true,
    // Point to the JSDoc typed sources when using modules from the ol package
    "baseUrl": "./",
    "paths": {
      "ol": ["node_modules/ol/src"],
      "ol/*": ["node_modules/ol/src/*"]
    }
  },
  "include": [
    "**/*.js",
    "node_modules/ol/**/*.js"
  ]
}

Project template with this configuration: https://gist.github.com/9a7253cb4712e8bf38d75d8ac898e36c.

Note that the above only works when authoring in plain JavaScript. For similar configurations with a tsconfig.json in TypeScript projects, your mileage may vary.

Supported Browsers

OpenLayers runs on all modern browsers that support HTML5 and ECMAScript 5. This includes Chrome, Firefox, Safari and Edge. For older browsers and platforms like Internet Explorer (down to version 9) and Android 4.x, polyfills for requestAnimationFrame and Element.prototype.classList are required, and using the KML format requires a polyfill for URL.

Documentation

Check out the hosted examples, the workshop or the API documentation.

Bugs

Please use the GitHub issue tracker for all bugs and feature requests. Before creating a new issue, do a quick search to see if the problem has been reported already.

Contributing

Please see our guide on contributing if you're interested in getting involved.

Community

CircleCI

主要指標

概覽
名稱與所有者openlayers/openlayers
主編程語言JavaScript
編程語言JavaScript (語言數: 6)
平台
許可證BSD 2-Clause "Simplified" License
所有者活动
創建於2012-06-20 06:53:59
推送於2025-05-19 10:41:29
最后一次提交
發布數264
最新版本名稱v10.5.0 (發布於 2025-03-31 18:19:27)
第一版名稱release-1.0-rc1 (發布於 2006-06-22 20:15:14)
用户参与
星數11.9k
關注者數388
派生數3.1k
提交數35.2k
已啟用問題?
問題數6728
打開的問題數694
拉請求數8742
打開的拉請求數98
關閉的拉請求數1152
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?