2013-01-11 16 views
5

Google Maps APIを使用して実際に挑戦しています。私は全画面表示のアプリを持っています。バックグラウンド全体を満たすGoogleマップがあります。このアプリのUIクロムの一部はマップの一部をカバーしているため、実際にはマップ全体が常に表示されるわけではありません。Googleマップ:中心点を再定義し、特定の範囲に境界を設定してください

そうのような代わりに、私たちは、「主」は、可視域、および「部分的に」見える面積を持っています。ここでは

map example

が私の質問です:

通常は、センターにしたい場合map.setCenter(latLng)これは、与えられたlatLngをマップキャンバスの正確な中心に置きます。しかし、私の場合は、指定されたlatLngをキャンバスの正確な中心に置くのではなく、キャンバスの完全に見える部分の中心に配置したいと思います。

地理的なポイントをキャンバスの正確な中心以外に設定する方法に関するドキュメントは見つかりませんでした。これが可能なら誰でも知っていますか?

同様に、多数の点にフィットするように地図をズームしたい場合は、これらのlatLngすべてを境界オブジェクト(bounds.extend(latLng)、次にmap.fitBounds(bounds))にそれぞれ渡すことができます。

ただし、これはマップのキャンバス全体にポイントが表示されるようにマップに適合します。代わりにキャンバスの特定の部分にフィットさせることは可能ですか?

ありがとうございました。

答えて

4

マップを作成した後、マップのpanByメソッドを使用して、指定されたピクセルでマップをパンします。

map.panBy(rightPadding/2,-topPadding/2); 

デモ:もう一つの方法は、ここで説明されてhttp://jsfiddle.net/doktormolle/JsBEx/

+0

これは、ポイントをセンタリングするのに最適です。範囲内のすべてのポイントが可視領域内に収まるようにする方法についての考えはありますか? – Andrew

+1

これを長々と試してみた結果、フルマップとは異なる領域で実際にはフィットバスや他の方法を使用できないと結論づけました。しかし、あなたが作品を見せてパンニングするのは一般的に、境界に合っていれば、パンしてからズームアウトして、必要なときに表示されます。だから、私はこの答えをその基準で受け入れます。ありがとう! – Andrew

関連する問題