このシードを使用して、Angular 2 Typescript と Webpack を使い始めました: https://github.com/haoliangyu/angular2-leaflet-starter。
私は、使用されているほとんどのツールとテクノロジ (Angular 2、Typescript、Webpack) に不慣れです。これらについてはますます理解していますが、サードパーティの型指定されていない JS ライブラリがどのように含まれているかをまだ把握していないようです。
プロジェクトにleaflet-routing-machine.jsを含めたいと思います。私の知る限り、leaflet の型付けは存在しますが、leaflet-routing-machine の型付けは存在しません。
経由でパッケージをインストールしnpm install
、必要なクイック スタート コードを追加してルートを表示しました。
map.service.ts
/// <reference path="../../typings/leaflet/leaflet.d.ts"/>
import {Injectable} from 'angular2/core';
import {Map} from 'leaflet';
Injectable()
export class MapService {
map: Map; // holds reference to the normal leaflet map object
showRoute(){
L.Routing.control({
waypoints: [
L.latLng(47.569198, 7.5874886),
L.latLng(47.5685418, 7.5886755)
]
}).addTo(this.map);
}
}
私が得るエラーnpm start
は次のとおりです。
ERROR in ./app/services/map.service.ts
(56,11): error TS2339: Property 'Routing' does not exist on type 'typeof L'.
私が理解しているように、これは webpack によって自動的に行われる必要があるため、index.html に JS ファイルを含めるべきではありません。入力せずにサードパーティのライブラリを含める方法が一般的にわからないという事実に加えて(このL
ような回答は役に立ちませんでした)、オブジェクトは標準のリーフレットであり、Routing
プロパティを知らないため、私のケースは少し異なるようです。ルーティング マシン ライブラリがリーフレット ライブラリを拡張する方法がわからないので、なんとなくわかります。
助言がありますか?