在 Ionic2 TypeScript 項目中導入第三方 JS 庫


原文發表於我的技術博客

本文分享了在Ionic2 TypeScript 項目中導入第三方 JS 庫的方法,供參考。
原文發表於我的技術博客

1. Typings 的方式

因在 TypeScript 中引用之前的 JS 庫還需要引入對應的類型定義,也就是 .d.ts 文件。對於一些流行的 JS 庫,相應地有了一個 Typings 庫。Typings 庫的作用就是將一些現有的 JS 庫生成好了對應的定義文件,可以通過 Typings 直接加載到項目中。詳細可見 Typings for NPM Packages

2. 其他第三方 JS 庫的引用

這里以國內的百度地圖庫作為示例進行說明。
百度地圖在 TypeScript 中是不存在的,所以本文就看看如何在 Ionic2 的 TypeScript 項目中引用。

3. 項目中引用 JS 庫

和一般的引用 JS 庫一樣,直接在項目的 index.html 中引用即可。
這里申請好百度地圖的 key 並引入百度地圖的 JS SDK 文件。

截圖

4. 全局對應的定義與使用

在引用了百度地圖 SDK 后,在 console 中發現已經可以讀取到百度地圖中的全局參數定義了。

截圖

那么只需要在對應的 TS 文件中定義一個參數即可。

{% codeblock lang:js%}

declare var BMap;

{% endcodeblock %}

定義好后在文件中就可以直接使用百度地圖 JS SDK 的所有功能了。

{% codeblock lang:js%}
import {Component, ViewChild, ElementRef} from '@angular/core';
import {NavController} from 'ionic-angular';

declare var BMap;

@Component({
templateUrl: 'build/pages/map/map.html'
})
export class MapPage {

@ViewChild('container') mapElement: ElementRef;
container: any;

constructor(private navCtrl: NavController) {

}

ionViewLoaded() {
this.loadMap();
}

loadMap() {
var map = new BMap.Map(this.mapElement.nativeElement); // 創建地圖實例
var point = new BMap.Point(116.404, 39.915); // 創建點坐標
map.centerAndZoom(point, 15); // 初始化地圖,設置中心點坐標和地圖級別
//創建小狐狸
var pt = new BMap.Point(116.404, 39.915);
var myIcon = new BMap.Icon("http://developer.baidu.com/map/jsdemo/img/fox.gif", new BMap.Size(300, 157));
var marker2 = new BMap.Marker(pt, { icon: myIcon }); // 創建標注
map.addOverlay(marker2); // 將標注添加到地圖中
}
}

{% endcodeblock %}

對應的 HTML 頁面代碼如下。

{% codeblock lang:html%}

Ionic - 地圖

{% endcodeblock %}

效果如下。

截圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM