Typescript (1.8)에서 외부 라이브러리의 프로토 타입을 확장하고 싶습니다. 제 경우의 외부 라이브러리는 NuGet의 Typescript 정의 파일을 포함하고있는 google.maps입니다.Typescript에서 외부 라이브러리의 프로토 타입 확장
import "./extensions.ts"
let p1 = new google.maps.LatLng(5, 5);
let p2 = new google.maps.LatLng(10, 10);
console.log(p1.distanceTo(p2))
: 그럼 난 그것을 사용하려는
/// <reference path="./google.maps.d.ts" />
export {}
declare global {
interface google.maps.LatLng {
distanceTo(google.maps.LatLng): number;
}
}
google.maps.LatLng.prototype.distanceTo = function(other) {
return google.maps.geometry.spherical.computeDistanceBetween(this, other);
}
: 지금은 파일에과 같이 "extensions.ts의"거리 함수를 추가하여은 google.maps.LatLng의 프로토 타입을 확장 할
그러나이 코드는 많은 오류와 함께 작동하지 않습니다./ 해결 방법은 무엇입니까? Array 또는 String과 같은 전역 선언을 확장하는 것은 앞에서 설명한대로 here처럼 작동합니다.
참고 : 결과 파일이 당신은 또한 구글을 포함 할 필요가 작동하려면 자바 스크립트 라이브러리 매핑 : 당신은 거의 다
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=geometry&key=[your-key-here]&sensor=FALSE"></script>
내가 런타임 테스트를했고, 그것을 작동합니다. 고마워요 :) – Crine