2011-12-09 13 views
0

UI要素とJavaScriptを使用せずにGoogleマップのバインド計算を行う方法を知っている人はいませんか。Google Map Javascriptなしのバウンド計算

私はポイントと異なるズームレベルのセットを持っています。私はおそらく画面のサイズを追加することができ、私は提供された座標とズームレベルの境界を計算する必要があります。私はこれをプレーンなC#コードで実行しようとしています。

助けてください。

+0

クリーナーソリューションは、javascriptでapiを使用し、おそらくサーバーとcomunicateするためにajaxを使用することになります... – TMS

答えて

0

境界を計算するためには、あなたの座標の配列を歩くことで簡単にできます。また、ポイントがなくなったら境界の矩形を広げることもできます。最初のコードはスタートです。私はC#に精通していないが、そこに擬似コードを使用してアルゴです:

points = Array of coord(lat, lng) 
bounds = object { 
    top: null 
    left: null 
    right: null 
    bottom: null 

    function extend(coord: (lat, lng)) 
    { 
    if (this.top == null) // empty 
    { 
     this.top = coord.lat; this.bottom = coord.lat; 
     this.left = coord.lng; this.right = coord.lng; 
    } 
    else 
    { 
     if (coord.lng < this.left) this.left = coord.lng; 
     if (coord.lat < this.bottom) this.bottom = coord.lat; 
     if (coord.lng > this.right) this.right = coord.lng; 
     if (coord.lat > this.top) this.top = coord.lat; 
    } 
    } 
} 

は、しかし、もちろん多くのsimplier方法が既に書かれてGoogleの機能を使用することです。 ズームレベルは、境界ボックスのサイズから何らかの形で計算できます(たとえば、ピクセル単位のkmまたはマイル、またはおおよその幅またはマップのテーブルを見つけることができます)。最も快適な方法はmap.fitBounds(bounds)です。