Angular-google-maps: GoogleMapsAPIWrappergetBoundsが返されない

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

こんにちは、
GoogleMapsAPIWrapperサービスを使用してマップの境界を取得しようとしています。
私はプロミスを使用しています関数getBounds()。

何も返されません。

これが私のコードです。

constructor(private searchService: SearchService, 
    private wrapper: GoogleMapsAPIWrapper, 
    private _loader: MapsAPILoader, 
    private zone: NgZone) {
  }

  ngOnInit() {
   this.wrapper.getBounds().then(x => console.log(x));  
  }

peomiseは何も返さないため、console.log関数は呼び出されません。

ありがとう

stale discussion / question

最も参考になるコメント

@SebastianM
Angular4を使用していますが、GoogleMapsAPIWrapperの約束が機能しないことを確認できます。

全てのコメント21件

@betfunこのコンポーネントをテンプレート内のどこに配置しましたか? の中に成分?

私はこれを自分で行いましたが、それも機能しません。これはコンポーネントにありました。

「getNativeMap」を呼び出して「then」を実行しても、まったく呼び出されません。

テンプレートに<sebm-google-maps>が含まれているコンポーネントで実行しようとしたときに、同じ問題が発生しました。 私の回避策は、必要な機能を実行するために<sebm-googe-maps><custom-component></custom-component></sebm-google-maps>内にドロップするカスタムコンポーネントを作成することでした。

同様の問題があります。 私が次のことをしようとすると:
this._wrapper.getNativeMap()。then((map)=> console.log( "mappp"、map));

mapppは印刷されません。 インスタンスがsebm-google-mapインスタンスと同じであることを確認するにはどうすればよいですか?

助けていただければ幸いです

マップを表示するMapComponentがあり、別のコンポーネントからその境界を取得したいと思います。 どうすればこれを行うことができますか?

私も同じ問題を見ています。

テンプレート内でsebm-google-mapコンポーネントを使用すると、次のものを使用できます。

<sebm-google-map (boundsChange)="boundsChange($event)"></sebm-google-map>

次に、コンポーネント内:

boundsChange(event) {
    console.log(event.getNorthEast().lat());
    console.log(event.getNorthEast().lng());
    console.log(event.getSouthWest().lat());
    console.log(event.getSouthWest().lng());
  }

@josueadelimaありがとう!
これは、ユーザーがマップ上をパンしたときにのみ機能しました。
また、マップが読み込まれ、ユーザーがマップに触れていないときに境界を取得する必要があります。

@SebastianM
Angular4を使用していますが、GoogleMapsAPIWrapperの約束が機能しないことを確認できます。

@craftpipマップの読み込み時にboundsChangeイベントも取得しています...

そして@craftpipが約束が機能していないと述べているように、Angular4も

sebm-google-mapテンプレートではなくGoogleMapsAPIWrapperを使用してマップを作成した場合、おそらく(テストしていませんが)機能しますが、 sebm-google-mapが提供する多くの機能が失われます。

ロード時にディレクティブ<agm-circle>からgetBoundsを取得しようとしています。 ネイティブ要素にアクセスしようとしましたが、ネイティブ要素からAgmCircleオブジェクトを取得できませんでした。

this.circleManager.getBounds(this.searchCircle).then((bounds) => { console.log(bounds); }); 

http://plnkr.co/edit/nG6lUsm1KLbQRv3SRdgW?p=preview

これに関する助けに感謝します。

これに対する修正はありますか? 私は同じ問題を抱えており、イベントを使用することは実際には解決策ではありません。

@jplewに感謝します
このようにして境界を取得できます;)

latNorth: number
  @ViewChild(AgmMap) mapElement: any
  ...

  checkBounds(map) {

    const ln = this.mapElement._mapsWrapper.getBounds()
      .then( (latLngBounds) => {
        return latLngBounds.getNorthEast().lat()
      })
    ln.then( x => this.latNorth = x )

PromiseはAngular4ではまだ機能しませんが、これはgetBounds関数であるだけでなく、Promiseが実行されないcreateMarkerような別の関数でもあります。

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

まだ同じ問題があります。

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

今でも同じ問題を抱えていますが、誰かがそれを機能させましたか?

GoogleAPIWrapperのgetBoundsを使用しているのはなぜですか?

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