4

私はAndroid Maps v2で遊んでいて、これに非常によく似TileOverlayたカスタムを構築しましたTileProvider

しかし、私を奇妙に感じるものがあります。コンストラクターに渡す数字に関係なくTile、画面上の画像は常に同じです。次のように、画面スペースを均等に共有する 4 ~ 9 個のタイルです。

ここに画像の説明を入力

もちろん、これはドキュメントを読むことから期待されるものです:

タイルの座標は、マップの左上 (北西) 隅から測定されます。ズーム レベル N では、タイル座標の x 値の範囲は 0 から 2N - 1 で西から東に増加し、y 値の範囲は 0 から 2N - 1 で北から南に増加します。

しかし、コンストラクターのドキュメントを見ると、実際にそのような機能があると推測されるかもしれません。

タイルを構築します。

パラメータ
width ピクセル単位の画像の幅
heightピクセル単位 の画像の高さ
data 画像データを含むバイト配列。画像は、decodeByteArray(byte[], int, int) を呼び出すことによって、このデータから作成されます。

だから明らかに私はここで何かを誤解しました。私の個人的な推測では、タイルは「マップ タイル」全体をカバーする必要があるため、縮小することはできません。

私の目標は、私のタイルを10dp画面の周りにすることです。したがって、もう一度あなたに質問します:

これを実現できますか、TileOverlayそれともカスタムを使用することになりMarkerますか?

4

1 に答える 1

1

コンストラクターで指定されたタイルのサイズは、マップに提供する (すべての) ビットマップ タイルのサイズです。これにより、リソースがあれば、さまざまな画面にさまざまな密度のタイルを提供できます。マップ上に描画される画像のサイズは変更されません。マップ タイルの物理的なサイズはズーム レベルによって定義されます。ズーム レベル 0 は世界全体をカバーする 1 つのタイル、1 は 2x2 タイルなどです。これはマップ タイルのオープンな Web マップ標準の一部であり、 Google によって定義されています。

API ドキュメント: https://developers.google.com/maps/documentation/android/tileoverlay

参照: http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/

于 2014-12-09T14:06:21.880 に答える