自从学了typescript
后,就想将以后的项目全部换成typescript
来开发了,首先从leaflet
开始,在官网的例子中,都是用UMD
的方式来引入leaflet
的,为了以后能更快速的创建leaflet
项目,项目中主要使用leaflet
与webpack
,typescript
来集成。之前介绍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'
。这里主要是引入了Map
和TileLayer
类。然后再创建具体的对象来添加创建地图和添加对象。
然后在入口文件index.js
文件中引入LMap
。如下所示:
import './../css/index.css'
import 'leaflet/dist/leaflet.css'
import LMap from './map/map'
(function (){
let map:LMap = new LMap('map')
})()
注意:需要引入
leaflet
的css
文件。