0

私は初めてGooglemapsAPIを使用しているため、いくつかの問題に直面しており、助けが必要です。いくつかのポイント間の距離を見つけて、後で使用できるように保存しておく必要があります。以下は私が直面している正確なシナリオと問題です。

私は緯度、距離を見つけなければならない経度データを使用しています。

シナリオ:

  • ポイントAとポイント1、2、3の間の距離を見つけます。
  • ポイントBとポイント1、2、3の間の距離を見つけます。
  • ポイントCとポイント1、2、3の間の距離を見つけます。

C#コードでこの距離が必要です。現在、私の実装は次のとおりです。GoogleMapAPIを呼び出すJavascriptはaspxにあります。以下のコードを使用して、c#からこのJavaScriptを呼び出します

ClientScriptManager cs = Page.ClientScript;
cs.RegisterStartupScript(this.GetType(), "ValError", "testDistance(lat1,long1,lat2,long2)", true);

私のtestDistance()メソッドはjavascriptで書かれており、正しい道路距離を教えてくれます。

問題: サーバー側で距離を取り戻す。距離を保存してサーバー側に戻すために非表示の変数を使用していますが、問題は、計算して保存する距離がさまざまであるため、距離を計算するための呼び出しをc#のforループで実行する必要があることです。

しかし、隠れた変数は最初の呼び出しでのみ設定され、その後の呼び出しで導出されたすべての距離値が失われるため、これを行うことはできません。

javascriptで距離を取得したら、以下のように非表示の値に保存します。

var hiddist= document.getElementById("hidDistance");
hiddist.value=hiddist.value+distance;

これをどのように行うことができるかを助けて提案してください。

4

1 に答える 1

0

私はあなたがこれに苦労していることを知っています。私は常にjquery ajaxポストを使用して、C#プロジェクトにあるWebサービスを呼び出し、クライアント側からコードビハインドにデータを返します。これを行う方法の良い例を示しているこの Web ページをご覧ください。私が見てきたことから、これはおそらくこの状況を処理するためのより良い方法の 1 つです。これは、私が作成するすべての Google マップ ページの方法でもあります。

http://dotnetguts.blogspot.com/2012/01/jquery-ajax-examples-by-calling-aspnet.html

もう 1 つ注意しておきたいのは、通常、コード ビハインドでクラスを作成し、それらをすべて結合することです。(別名、複数のクラスのクラス、おそらく1つのクラスはクラスのリストです)次に、それらをクライアント側に渡すと、次のようになります。:

return parentClass.toArray();

上記を実行すると、クライアントとコードビハインドの間でより多くのデータを処理/渡すことができ、10 億の変数の文字列を渡すのではなく、より均一な方法で行うことができます。(実際には、この方法でクライアントと分離コードの間であまりにも多くのデータを渡すことができることに注意してください。これは私が遭遇したことですが、今は心配する必要はありません) HTH

于 2012-09-10T23:28:07.170 に答える