新しい例
1:新規プロジェクト
新しいWebサイト、選択のMapXtreme 6.7.1 Webアプリケーション作成
にApp_Code内を、私たちは、という名前の新しいクラスを作成します。LayerManager.csを
にApp_Code内を、私たちは、という名前の新しいクラスを作成します。LayerManager.csを
2:セクションは、クラスLayerManagerに関数に入れます
機能を完全にコピーのコードと同様に、名前空間を使用して
3:オープンMapForm.csは、Page_Loadのコードでは、次のコードを追加します
コード
列 tableNameの = " tableNameの" 、layerName = " layerName " ; // だけ定義する2人の名前 LayerManager.CreateLayer(tableNameの、layerName); // 層作成 LayerManager.AddPoint(layerName、GetDPoint(60 、60 )、 35 、 Color.Red); // 五角形赤色ドット作成 LayerManager.AddLine(layerName、GetDPoint(160 、 160 )、GetDPoint(300 、 160 )、 59 、Color.Red); //は、単一の赤線の矢印を作成します
LayerManager.ShowValue(tableNameの、 " 値" ); // 表示ラベル
LayerManager.ShowValue(tableNameの、 " 値" ); // 表示ラベル
説明:
地図に戻るGetDPoint(int型のx、int型Y)機能、主として着信クライアント座標、緯度と経度であります
GetDPointは機能に従います
コード
プライベート DPoint GetDPoint(int型の X、int型 Y)
{ DPoint DP = 新新 DPoint(); System.Drawing.Pointポイント = 新しい新しい System.Drawing.Point(X、Y); // クライアント座標(相対マップ) 地図マップ = MapInfo.Engine.Session.Current.MapFactory [ 0 ]; map.DisplayTransform.FromDisplay(点、 OUT DP); // 対応する緯度と経度のスイッチの位置座標を返す ; DPを }
プライベート DPoint GetDPoint(int型の X、int型 Y)
{ DPoint DP = 新新 DPoint(); System.Drawing.Pointポイント = 新しい新しい System.Drawing.Point(X、Y); // クライアント座標(相対マップ) 地図マップ = MapInfo.Engine.Session.Current.MapFactory [ 0 ]; map.DisplayTransform.FromDisplay(点、 OUT DP); // 対応する緯度と経度のスイッチの位置座標を返す ; DPを }
4:次のように全ページのコードがあります
コード
の公共部分クラス _Default:System.Web.UI.Page { プライベートボイド をPage_Load(オブジェクト 送信者、System.EventArgs e)の{ // のStateManagerは、セッション内に存在しない場合は、他のそれはそれを得る置きます。もし (StateManager.GetStateManagerFromSession() == nullの) StateManager.PutStateManagerInSession(新しい AppStateManager()); // 今の状態の復元 StateManager.GetStateManagerFromSessionを()ParamsDictionary [StateManager.ActiveMapAliasKey]。 =の MapControl1.MapAlias。
StateManager.GetStateManagerFromSession()RestoreState();.
列 tableNameの = " tableNameの" 、layerName = " layerName " ; // わずか2名定義 LayerManager.CreateLayer(tableNameの、layerNameを); // 層作成 LayerManager.AddPoint(layerNameをGetDPoint(60 、60 )、 35 、Color.Red); // 五角形赤色ドット作成 LayerManager.AddLine(layerName、GetDPoint(160 、 160 )、GetDPoint(300 、 160 )、 59
、Color.Red); //は、単一の赤線の矢印を作成し 、LayerManager.ShowValue(tableNameのを " 値" ); // マークを表示 }
プライベート DPoint GetDPoint(int型 X、int型 Y)を{ DPoint DP = 新しい新しい DPoint()。 ポイントSystem.Drawing.Point = 新しい新しい System.Drawing.Point(X、Y); // クライアント座標(相対マップ) マップマップ = MapInfo.Engine.Session.Current.MapFactory [ 0 ]; map.DisplayTransform.FromDisplay(ポイント、 OUT DP); //
转成相应的经纬度坐标返し DPを。 }
// ページのアンロード時には、ステートセーブプライベートボイド Page_UnLoad(オブジェクト 送信者、System.EventArgs e)を{ StateManager.GetStateManagerFromSession()ステートセーブ(); } }
の公共部分クラス _Default:System.Web.UI.Page { プライベートボイド をPage_Load(オブジェクト 送信者、System.EventArgs e)の{ // のStateManagerは、セッション内に存在しない場合は、他のそれはそれを得る置きます。もし (StateManager.GetStateManagerFromSession() == nullの) StateManager.PutStateManagerInSession(新しい AppStateManager()); // 今の状態の復元 StateManager.GetStateManagerFromSessionを()ParamsDictionary [StateManager.ActiveMapAliasKey]。 =の MapControl1.MapAlias。
StateManager.GetStateManagerFromSession()RestoreState();.
列 tableNameの = " tableNameの" 、layerName = " layerName " ; // わずか2名定義 LayerManager.CreateLayer(tableNameの、layerNameを); // 層作成 LayerManager.AddPoint(layerNameをGetDPoint(60 、60 )、 35 、Color.Red); // 五角形赤色ドット作成 LayerManager.AddLine(layerName、GetDPoint(160 、 160 )、GetDPoint(300 、 160 )、 59
、Color.Red); //は、単一の赤線の矢印を作成し 、LayerManager.ShowValue(tableNameのを " 値" ); // マークを表示 }
プライベート DPoint GetDPoint(int型 X、int型 Y)を{ DPoint DP = 新しい新しい DPoint()。 ポイントSystem.Drawing.Point = 新しい新しい System.Drawing.Point(X、Y); // クライアント座標(相対マップ) マップマップ = MapInfo.Engine.Session.Current.MapFactory [ 0 ]; map.DisplayTransform.FromDisplay(ポイント、 OUT DP); //
转成相应的经纬度坐标返し DPを。 }
// ページのアンロード時には、ステートセーブプライベートボイド Page_UnLoad(オブジェクト 送信者、System.EventArgs e)を{ StateManager.GetStateManagerFromSession()ステートセーブ(); } }
5:業績
OK、ビューを保存し、あなたが適切な場所にページ上で見ることができる、我々は五芒星と赤い矢印ウェイラインを作成しました
ます。https://my.oschina.net/secyaher/blog/274116で再現