5

を設定するcenter: new google.maps.LatLng(0,0)と、世界の中心が設定されます。デフォルトのズームzoom: 1を全世界にします。

問題は、マップのサイズが 616px x 310px の場合、指定されたサイズにうまく収まるようにマップを変更/サイズ変更するにはどうすればよいかということです。たとえば、世界の 1 つのインスタンスのみが表示され、マップの下部がアフリカの下部になります。したがって、その後ワールドマップは繰り返されません。正確には、マップを次のようにバインドします。

ここに画像の説明を入力

これは私がこれまでに得たものです: ここに画像の説明を入力

4

2 に答える 2

12

全世界の「画像」は、特定のズーム レベルで一定のサイズを持ちます。ズーム レベル 1 の場合は 512 ピクセル、ズーム レベル 2 の場合は 1024、3 = 2048 、4 = 4096 など ...

繰り返さずに全世界を収めるには、このズーム レベルで全世界の画像よりも小さいマップ div が必要です。そうしないと機能しません。

ズーム レベル 1 の場合、マップは理想的に収まるように 512 にする必要があり、ラップしないようにする必要があります。

https://output.jsbin.com/vabago は、特定のズーム レベルでワールド幅を表示し、コンソールに記録するサンプルです。また、ズームインすると、世界全体に合わせてマップのサイズが変更されます (通常はばかげたことをしますが、ここではこれがどのように機能するかを示しています)。

HTH

于 2012-12-02T19:53:01.690 に答える
0

Google マップには一連のズーム レベルがあり、それぞれが 1 段階ずつ近づきます。マップの高さと幅をピクセル単位で設定すると、Google マップ API が適切なマップ タイルを読み込んで、指定されたウィンドウを埋めます。

実際には、マップを引き伸ばすことはできません。ズーム 1 では、世界の Google マップは 256 ピクセル x 256 ピクセルになると思います。

これをもう少し詳しく説明した素晴らしい概要があります: http://troybrant.net/blog/2010/01/mkmapview-and-zoom-levels-a-visual-guide/

また、ピンを Web ページに動的にドロップする場合は、API を使用して緯度と経度でマーカーを直接追加できます。オフラインの静止画像を使用している場合は、まず、オープン ソースの openstreetmaps データの使用を検討する必要があります。これは、Google のライセンスがさらに必要になる可能性があるためです。openstreetmaps の場合、TileMill や mapnik などのオフライン ツールを使用してマーカーを配置することを検討できますか? いずれにせよ-投影を読んでください-これは、緯度と経度の座標が画像上のピクセル位置にどのように対応するかを説明します。

また、地図関連の質問専用のhttp://gis.stackexchange.comも参照してください。

于 2012-11-27T09:28:19.303 に答える