leaflet + webpack + typescript

自从学了typescript后,就想将以后的项目全部换成typescript来开发了,首先从leaflet开始,在官网的例子中,都是用UMD的方式来引入leaflet的,为了以后能更快速的创建leaflet项目,项目中主要使用leafletwebpacktypescript来集成。之前介绍webpack的博文有好几篇了,webpack就简单带过了,主要以集成typescript为主。

webpack

对于初始化的webpack工程项目,可以直接使用我github上的工程,该工程已经配置好了相关的插件和loaders,并且也引入了typescript。直接直接下来就可以了。

leaflet安装

要使用leaflet,首先需要对其进行安装。命令如下所示:

npm i leaflet

由于项目中是使用typescript进行开发,所以需要引入leaflet的声明文件。如下所示:

npm install @types/leaflet --save-d

创建地图

安装好leaflet相关的依赖文件后,就要开始进行编码了,首先创建一个LMap的文件,用于编写地图相关的代码。如下所示:

import {Map,TileLayer} from 'leaflet'
export default class LMap {
    constructor(target:string){
        //创建地图
        var map:Map = new Map(target);
        map.setView([51.505, -0.09], 13);
        var accessToken:string = '自已申请accessToken';
        var url:string = 'https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token=' + accessToken;
        //创建切片图层
        var titleLayer:TileLayer = new TileLayer(url,{
            maxZoom: 18,
            id: 'mapbox/streets-v11',
            tileSize: 512,
            zoomOffset: -1,
            accessToken:accessToken
        })
        //添加切片图层
        map.addLayer(titleLayer)
    }
}

将需要使用的类通过import来引入,如import {Map,TileLayer} from 'leaflet'。这里主要是引入了MapTileLayer类。然后再创建具体的对象来添加创建地图和添加对象。
然后在入口文件index.js文件中引入LMap。如下所示:

import './../css/index.css'
import 'leaflet/dist/leaflet.css'
import LMap from './map/map'
(function (){
    let map:LMap = new LMap('map')
})()

注意:需要引入 leafletcss文件。

你可能感兴趣的:(leaflet + webpack + typescript)