私はマップをレンダリングし、その上に位置マーカーのセットを表示するためにGoogle Maps Javascript APIを使用しています。場所を取得するAJAX要求を通じて返されるデータの量を減らすために、私は、可視の場所だけを返す要求で境界ボックスの座標を送信しています。Google Maps JS API - getBounds()が常に定義されていない
私は現在の線に沿ってコードを持っている:私はマップが移動したときにgetBounds
作品は(データを取得するためにサーバーに送信されている)Map.bounds
を更新する必要があります方法を理解するよう
google.maps.event.addListener(Map.map, "bounds_changed", function() {
Map.bounds.north = Map.map.getBounds().getNorthEast().lat();
Map.bounds.east = Map.map.getBounds().getNorthEast().lng();
Map.bounds.south = Map.map.getBounds().getSouthWest().lat();
Map.bounds.west = Map.map.getBounds().getSouthWest().lng();
});
を。しかし、地図を作成するときにMap.bounds
を設定することができないため、ロケーションの初期リクエストが失敗します。 Map.map.getBounds
がgoogle.maps.event.addListener
以外の場合は、getBounds
が定義されていないというエラーが表示されます。ユーザーがマップを読み込む前に、マップがロードされたら境界を設定するにはどうすればよいですか?
(私も同じ結果と"bounds_changed"
に加えて"idle"
を試してみました)
はあなたの問題を示している[MCVE]お知らせください。投稿したコードは失敗しないはずです。 – geocodezip
私が掲示したコードはうまくいきました。それが投稿された理由、それが動作する唯一のインスタンスです。他のコンテキストでgetBounds関数を使用すると、まだ定義されていないというエラーが表示されます(ただし、Google Mapsコールバックの中にあります)。私はこの正確なケースの外でgetBoundsを使用する例として、自分のコードに修正を求めているわけではありません。 – FatalKeystroke
それは私には分かりませんでした。あなたが試したことのない、うまくいかなかった例が役に立つでしょう。 – geocodezip