5

これが、GoogleMapsAPIを使用する際に直面している実際の課題です。フルスクリーンのアプリがあります。背景全体を塗りつぶすGoogleマップがあります。このアプリのUIクロームの一部はマップの一部をカバーしているため、実際には、マップ全体が常に表示されるとは限りません。

代わりに、次のように、「プライマリ」表示領域と「部分的」表示領域があります。

地図の例

これが私の質問です:

通常、呼び出すビューの中央に何かを配置する場合map.setCenter(latLng)、これにより、指定されたlatLngがマップキャンバスの正確な中央に配置されます。ただし、私の場合は、指定されたlatLngをキャンバスの正確な中央ではなく、キャンバスの完全に表示されている部分の中央に配置したいと思います。

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

同様に、多数のポイントに合うようにマップをズームする場合は、これらすべてのlatLngを境界オブジェクトに渡し、それぞれで、を呼び出してbounds.extend(latLng)から、を呼び出すことができますmap.fitBounds(bounds)

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

ここで洞察をありがとう。

4

2 に答える 2

4

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

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

デモ: http: //jsfiddle.net/doktormolle/JsBEx/

于 2013-01-11T20:11:54.913 に答える
0

別の方法については、「カスタム コントロールを fitBounds に認識させる方法」で説明しています。さらに、 containsLocation を使用して、いずれかの手法が機能したことを再確認できます ( Google Maps fitBounds into specific area )

于 2014-03-28T07:18:44.597 に答える