マップの表示領域をいくつかの等しい部分に分割したいと考えています。たとえば、水平方向に10パーツ、垂直方向に15パーツとすると、150等分になります。 Googleマップは、そのようなことをサポートしている場合、私は知らないGoogleマップのディスプレイを同じ数の部品に分割するにはどうすればよいですか?
...
は総表示面積を返すmap.getBounds()
。 ので、
var bounds = map.getBounds();
alert("main: "+bounds.isEmpty());
var southWest = bounds.getSouthWest();
var northEast = bounds.getNorthEast();
var tileWidth = (northEast.lng() - southWest.lng())/10;
var tileHeight = (northEast.lat() - southWest.lat())/2;
for (var x=0; x < 10 ; x++)
{
for (var y=0; y < 2 ; y++)
{
var northLat = bounds.getNorthEast().lat() + (tileHeight * y);
var westLng = bounds.getSouthWest().lng() + (tileWidth * x);
var southLat = northLat + tileHeight;
var eastLng = westLng + tileHeight;
var tileBounds = new GLatLngBounds(new GLatLng(southLat, westLng), new GLatLng(northLat, eastLng));
alert(tileBounds.isEmpty());
}
}
今問題がtileBounds.isEmpty(ある)はTRUEを返し!
私は何かが不足している場所を見つけることができません!どのようなヘルプ!
わからない、なぜあなたのgetBounds()の呼び出しが戻っています空のGLatLngBoundsオブジェクト。 mapオブジェクト(getSize()、getCenterなど)で他のいくつかの "metrics"呼び出しを試してみてください。どの時点でこのコードを呼び出していますか、地図ページの読み込みが完了しましたか?おそらくあなたの例へのリンクを含んでいますか? – RedBlueThing
問題は解決されました。GLatLngBounds請負業者のx1、y1、x2、y2座標に間違っていました。どうもありがとう。 – Posto
こんにちは、私のコードを見てみたいかもしれません:http://stackoverflow.com/questions/27221730/divide-a-path-into-equal-parts-in-google-map – maskarih