こんにちは、これまでの作業が大好きですが、興味があります。このライブラリは、angular1のgoogle-mapsの実装と同様に、完全なgoogle.mapsオブジェクトへのアクセスを許可しますか? (ここを参照してください:http://angular-ui.github.io/angular-google-maps/#!/ api / GoogleMapApi)
google.mapsオブジェクトを取得すると、たとえば...を作成できます。
新しいDirectionsRendererとDirectionsServiceを作成するためのA1コード:
uiGmapGoogleMapApi.then(function(maps) {
vm.gmaps = maps;
vm.map.directionsDisplay = new vm.gmaps.DirectionsRenderer();
vm.map.directionsService = new vm.gmaps.DirectionsService();
});
または、新しいLatLngオブジェクトを作成するには:
var latlng = new vm.gmaps.LatLng(lat, lng);
これはこのライブラリで可能になりますか?
編集:グーグルオブジェクトがグローバルに利用可能であることがわかります。したがって、var latlng = new google.maps.LatLng(lat、lng);を実行できます。 しかし、グーグルオブジェクトがグローバル名前空間を汚染するのを防ぐことがプロジェクトの1つの目標ではありませんか?
EDIT to EDIT:LatLngLiteralインターフェースを使用できるようになりました。これにより、次の1つの問題に対処できます。
import {LatLngLiteral} from 'angular2-google-maps/core';
...
var latlng = <LatLngLiteral>{lat: this.latitude, lng: this.longitude};
this.map.setCenter(latlng);
こんにちはcviccaro、
google.mapsオブジェクトにアクセスするには、以下のコメントを参照してください。
https://github.com/SebastianM/angular2-google-maps/issues/139#issuecomment -187343516
@ parmod-arora、
ありがとう。 マップオブジェクトを取得できましたが、SDKのAPI全体を参照していました。 DirectionsRendererとDirectionsServiceは、マップオブジェクト自体ではなく、google.maps名前空間にあります。
ただし、これを再考すると、完全なgoogle.maps名前空間への直接アクセスは設計上利用できなくなり、代わりに、それぞれのラッパーが後で利用できるようになると思います。
@cviccaro 、
私が間違っている場合は私を訂正してください。あなたはgoogle.mapsにアクセスし、DirectionsRendererおよびDirectionsServiceサービスで遊びたいと思っています。
以下はコードです。
declare var google: any;
@Directive({
selector: 'my-comp', // <home></home>
})
export class MyComp {
constructor(private _mapsWrapper:GoogleMapsAPIWrapper){
_mapsWrapper.getMap().then((m: mapTypes.GoogleMap) => {
console.log(google.maps);
});
}
}
@ parmod-aroraその通りです。 元の投稿の編集で書いたように、グローバルなgoogleオブジェクトが実際に利用可能であることがわかりました。そのため、私の質問は少し逸脱していると思います。 このプロジェクトは最終的にグローバル名前空間からgoogleオブジェクトを削除し、DirectionsRendererまたはDirectionsServiceを初期化するためにインポートするモジュールを提供しますか?
このプロジェクトは最終的にグローバル名前空間からGoogleオブジェクトを削除しますか
いいえ、これはプロジェクトの目標ではありません。 それはangular2 / googleマップのための使いやすい抽象化レイヤーを提供するべきです。 DirectionsRendererやDirectionsServiceなどのGoogleマップAPIの特定のサービスをどのように使用するかを考えることができます。 これを開いて、Angular2の優れたAPIがどのように見えるかについて説明します
ここですべてを正しく理解している場合、これを処理する最も角度のある方法は、グローバルオブジェクトを返すサービスを用意することではないでしょうか。 これにより、テストのモックが可能になり、グローバルな依存関係が回避されます。
こんにちは@cviccaroは、google.mapsオブジェクトがおっしゃいましたが、それをどのように行ったかを教えて
この問題は、最近のアクティビティがないため、自動的に古いものとしてマークされています。 それ以上のアクティビティが発生しない場合は閉じられます。 貢献していただきありがとうございます。
最も参考になるコメント
ここですべてを正しく理解している場合、これを処理する最も角度のある方法は、グローバルオブジェクトを返すサービスを用意することではないでしょうか。 これにより、テストのモックが可能になり、グローバルな依存関係が回避されます。