如何在Ionic 2上使用非原生mapbox插件?

时间:2017-07-26 10:04:25

标签: javascript cordova ionic-framework telerik

我正在尝试使用名为 Mapbox 的非原生Ionic 2插件。参考站点为Telerik Mapbox,我执行以下步骤:

  1. 我是通过 cordova插件添加...
  2. 安装的
  3. 在我要渲染原生地图的页面上,我在顶部声明声明var cordova:any;
  4. 最后调出显示地图的方法

    if (typeof cordova !== 'undefined') {
      cordova.plugins.Mapbox.show(
      {...})
    }else{
      console.log("cordova is undefined");
    }
    
  5. 返回的错误是:

      

    无法读取未定义的属性'show'

    离子 - > 3.5.2

    科尔多瓦 - > 7.0.1

    为什么不识别他的方法?

    修改

    我可以通过下载repo并将其添加到ionic cordova plugin add /path/to/my/plugin/my.plugin.folder.here/来安装mapbox插件。

    现在问题总是如上所述。相反,如果我声明全局Mapbox declare var Mapbox: any;然后调用它

    if (typeof cordova !== 'undefined') {
      Mapbox.show(
        {...})
    }else{
    console.log("cordova is undefined");
    }
    
    该应用程序崩溃了。

1 个答案:

答案 0 :(得分:0)

使用window.plugins.PLUGIN_NAMe访问非native / corodva插件。

import { Platform } from 'ionic-angular';

@Component({...})
export MyPage {
  constructor(public plt: Platform) {
    if (this.plt.is('cordova')) { 
        window.plugins.Mapbox.show(
        {...})
    }
  }
}