マップに表示する 5 つのマーカーがあり、そのうちの 4 つは互いに非常に近く、5 番目のマーカーはこれらの 4 つから少し離れています。マップを表示するときに、これら 5 つのマーカーすべてをマップに表示したいと考えています。可能な限り最高のズームを備えています。それらが画面の境界にあるか画面の中央にあるかは気にしません。つまり、マーカーが画面上に散らばっている可能性がありますが、すべてのマーカーがユーザーに表示され、可能な限り最高のズームで表示される必要があります。
すべてのマーカーを表示するために、この Android マップ v2 ズームを試しました。しかし、その結果、すべてのマーカーが地図の中心に表示され、ほとんどズームされていません。実際、このコードを使用して画面の寸法を計算しました。
DisplayMetrics metrics=new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
float height=metrics.heightPixels/metrics.xdpi;
float width=metrics.widthPixels/metrics.ydpi;
しかし、なぜズームがほとんどないのかわかりません。しかし、私はアンドロイドのドキュメントを見ましたが、関数は、それが行うと言ったことを何でも実行することで正義を行っていると思います.
public static CameraUpdate newLatLngBounds (LatLngBounds bounds, int width, int height, int padding)
Returns a CameraUpdate that transforms the camera such that the specified
latitude/longitude bounds are centered on screen within a bounding box of specified
dimensions at the greatest possible zoom level. You can specify additional padding,
to further restrict the size of the bounding box. The returned CameraUpdate has a
bearing of 0 and a tilt of 0.
Unlike newLatLngBounds(LatLngBounds, int), you can use the CameraUpdate returned by
this method to change the camera prior to the map's the layout phase, because the
arguments specify the desired size of the bounding box.
それが言うように、すべてのマーカーをマップの中心に保ちます。私はそれを望んでいません。可能な限り最大のズームとマーカーが散在している状態で、すべてのマーカーがユーザーに表示されるようにします。誰でも私を助けてもらえますか?