2017-09-07 10 views
0

は、私はアイコンの動作を拡張し、次のlibrerayを使用したい、私は種類@使用しています、typescriptですレガシーJS libに延長問題

export namespace Icon { 
    interface DefaultIconOptions extends BaseIconOptions { 
     imagePath?: string; 
    } 

    class Default extends Icon<DefaultIconOptions> { 
     static imagePath?: string; 
     constructor(options?: DefaultIconOptions); 
    } 
} 

今のタイプを定義/リーフレットを輸入していくつかの助けが必要です: https://www.npmjs.com/package/leaflet-fa-markers 問題は、私がきた、これまでのところL.Icon.FontAwesome.js

L.Icon.FontAwesome = L.Icon.extend({ 

    options: { 
     popupAnchor: [0, -50] 
    }, 

    createIcon: function() { 

     var div = document.createElement('div'); 
... 

/それは平野JSだとタイプが@types ... node_modules /リーフレット-FA-マーカーで定義されていないということです.angular-cli.jsonにjsとcssをインポートしましたが、c

src/app/_services/canimap.service.ts (99,24): Property 'fontAwesome' does not exist on type '(options: IconOptions) => Icon<IconOptions>'. 

答えて

0

私は何を発見したことにある。これまでのところ、私は

import 'leaflet-fa-markers'; 
//... 
     let marker = new L.Marker([ lat, lng], { 
      icon: L.icon.fontAwesome({ 
      iconClasses: 'fa fa-info-circle', // you _could_ add other icon classes, not tested. 
      markerColor: '#00a9ce', 
      iconColor: '#FFF' 
      }), 
      draggable: true}); 

libにjsファイルをインポートした。しかし、私はエラーを取得...私のサービスでそれをインポートする方法を見つけ出すan't輸入

を追加
  • typescriptですファイルにJSファイルを変換することが

    1. を作業得るためにビットにコードを変更

      「リーフレット」から{icon、IconOptions}をインポートします。 *「リーフレット」からのL *としてのインポート。

      輸出クラスFontAwesomeIconはアイコン{ を//ここ あなたのJSコードを追加します}拡張index.tsファイル追加

    2. を:

      輸出{FontAwesomeIcon、FontAwesomeOptions}から 'を./fontAwesomeIcon';

    私はここに投稿したコード:https://github.com/mylen/ngx-leaflet-fa-markers