因為是導入的第三方js庫,ts智能感應不了,所以還需要在declarations.d.ts文件中添加聲明,
高德地圖聲明:"declare var AMap"
百度地圖聲明:"declare var BMap"(需要用到畫弧線功能還需要"declare var BMapLib")
集成高德地圖:
在ionic2中使用高德地圖需要我們在高德地圖的開發者平臺申請使用web JavaScript API的key。
第一步:在項目的index.html中引入JavaScript API:
第二步:聲明AMap然后進行地圖初始化,并根據提供的方法進行地圖開發,首先在使用地圖的html頁面中添加div標簽,并設置一個id
最后需要寫TS文件;
運行效果:
集成百度地圖:
同樣的道理集成百度首先需要去百度官方申請web JavaScript API的key。
第一步,index文件添加JavaScript API:
第二步,創建div容器放置地圖,并設置ID:
第三步,完善ts文件代碼
運行效果:
其中發現一個坑:
ionViewLoaded: 頁面加載完畢觸發。該事件發生在頁面被創建成 DOM 的時候,且僅僅執行一次。如果頁面被緩存(Ionic默認是緩存的)就不會再次觸發該事件。該事件中可以放置初始化頁面的一些事件。
這個方法在運行中發現是不調用的 所以改用:ionViewDidLoad 原因沒找到,哪位大神知道不妨告知!感謝
另外 百度地圖 在瀏覽器上調試 會遇上跨域問題 我的方法是修改電腦的hosts文件 方法自行百度就好
PS:高德地圖并沒有跨域問題出現,百度坑貨!
第一次寫分享,寫的比較爛,菜雞ios開發一枚。