Angular-google-maps: 完全なgoogle.mapsオブジェクトへのアクセス

作成日 2016年03月10日  ·  8コメント  ·  ソース: SebastianM/angular-google-maps

こんにちは、これまでの作業が大好きですが、興味があります。このライブラリは、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);
stale discussion / question

最も参考になるコメント

ここですべてを正しく理解している場合、これを処理する最も角度のある方法は、グローバルオブジェクトを返すサービスを用意することではないでしょうか。 これにより、テストのモックが可能になり、グローバルな依存関係が回避されます。

全てのコメント8件

こんにちは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オブジェクトがおっしゃいましたが、それをどのように行ったかを教えて

この問題は、最近のアクティビティがないため、自動的に古いものとしてマークされています。 それ以上のアクティビティが発生しない場合は閉じられます。 貢献していただきありがとうございます。

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

ChrisDevinePimss picture ChrisDevinePimss  ·  3コメント

shedar picture shedar  ·  4コメント

DeveloperAdd007 picture DeveloperAdd007  ·  3コメント

matishw picture matishw  ·  3コメント

Subhojit1992 picture Subhojit1992  ·  3コメント