FAQ
SuperMap IS .NET (COM)
COMベースのWebGIS開発プラットフォーム製品、つまりSuperMap IS .NET 2008 及び SuperMap IS .NET 6、これら全般に関する内容です。 :SuperMap IS .NET 2008 限定の内容です。
:SuperMap IS .NET 6 限定の内容です。 (ほとんどの項目は2008ファミリーと6シリーズで共通しています。順次、各項目についての6シリーズ製品における状況を確認後、2008のみ、6のみ、共通の項目かを明示してゆきます。)
SuperMap IS .NET 6全般
開発環境、設定
地図表示
レイヤーコントロール
ルート解析
キャッシュ
- DeskproでISのキャッシュを作成する方法を教えてください。
- 異なるマップに異なるキャッシュ画像タイプを設定する方法は?
- AjaxMapの表示で常に同じ箇所だけグレー画像のままで正常に表示されません。
- 使用しているDBの種類やエディションの違いにより、生成されるIS.NETのキャッシュに違いがありますか?
- IS.NET Enterpriseのトライアルライセンスでは、Ajaxマップの左上にトライアルを示す文字が表示されますが、生成されるキャッシュ画像にもこの文字が表示されているのでしょうか?
- マップの表示内容が同じで、データソース名やレイヤー名が変わった場合、キャッシュを作り直す必要がありますか?
- outputフォルダにキャッシュされたファイルが蓄積して相当なサイズになっていますが、パフォーマンスに影響しないでしょうか?
カスタムエンジン
その他
- ダイナミックリンクライブラリの初期化ルーチンに失敗します。
- マウスをクリックするか、あるオブジェクトに移動すると、当該オブジェクトの属性が表示されるようにしたい。
- WebページをFrameで分割した場合、 FrameAの領域にMapControlを貼り付け、FrameBにリンクするコントロールを貼り付けた場合、正常に動作しますか?
- AjaxのMapControlに追加されたTileCheckTimeプロパティの使い方を教えてください。
- SDD/SDB方式でWeb配信をする場合、複数のユーザからアクセスがあると、正しく処理できますか?ReadOnlyでSDD/SDBを開く必要があるでしょうか。あるいは、SQLServerやOracleなどのDBが必要でしょうか?速度的にはどちらが速いでしょうか 。
- MapContorolの幅や高さをJavaScriptで変更し、地図の内容を更新する方法を教えてください。Overviewコントロールの場合についても教えてください。
- AjaxMapでCustomLayerに記述したものすべてを画像化する方法は?
SuperMap IS .NET 6全般
IS.NET6は、IS.NET2008と比べてどのような違いがありますか?
SuperMap IS .NET 6は、既存のWebGIS開発プラットフォームSuperMap IS.NET 2008 をバージョンアップした製品で、従来機能を修正 、強化したほか、新たな機能を追加してあります。
新しい特長・機能
■クロスドメインアクセスの制御
・JSONP (JSON With Padding) の採用により、AjaxScriptsのクロスドメインアクセスをサポートしました。
・web.configファイルの内容を変更することにより、地図関連など他のWebサービスへのクロスドメインアクセスを許可する/しないを制御できます。
■ストレスのないクライアント側のユーザーエクスペリエンス
・マルチレベル知能キャッシュ (IC : Intelligent Cache) の計算法を強化し、プレキャッシュ、ダイナミックキャッシュを通じてマップ出力の効率を向上しました。
・AjaxScriptsのマップのカスタムレイヤー (CustomLayer) で、楕円、楕円アークオブジェクト、複数サブオブジェクトを含む幾何オブジェクトなど、複数種類の複雑な幾何オブジェクトタイプを描画できます。また、カスタムレイヤーに幾何オブジェクトをバッチで追加する際、個数の制限はなく、クライアント側で素早いレスポンスでダイナミックな幾何オブジェクト表示が可能です。
■新たなデータ管理機能及びGIS解析機能
・データ管理の新たなAPIを提供します。ネットワークを通じて、ワークスペース情報の取得、データソース及びデータセットの追加・削除などを実行できます。
・GIS解析の新たなAPIを提供します。物流配送 (Logistics) 、リソース配分 (Allocate) 、上流・下流トレース (UpStream/DownStream) 、グリッド解析があります。
■新しいWebサービス開発方式
・SuperMap IS .NET 6 は、AjaxHandler のベースクラス、TileHandlerBase を提供します。TileHandlerBase に基づきWebサービスの拡張開発ができ、WebレイヤーでGIS サービスを柔軟に拡張でき、さらにサードパーティWebサービス (WMS, WFS等) とのデータ共有も実現できます。
■製品エディション分類の変更
・SuperMap IS .NET 6では、製品エディションの分類を、エンタープライズ版 (Enterprise) 、スタンダード版 (Standard) 、開発版 (Development) に変更しています。エンタープライズ版とスタンダード版は、実現できるGIS機能やクラスタサービスのサポートの有無に違いがあります。
SuperMap IS .NET 6の開発環境について
必要なハードウェア環境:
・CPU:Pentium® 600MHz 以上のクロック周波数
・メモリ:256MB 以上
・
ハードディスク:10GB 以上
・
LANカード:ネットワークアダプタ
・
ビデオメモリ:独立したビデオカード、32MB以上のビデオメモリ
推奨ハードウェア環境:
・
CPU:2GHz以上、デュアルコアCPU
・
メモリ:1GB以上
・
ハードディスク:40GB以上
・
LANカード:100M以上ネットワークアダプタ
・
ビデオメモリ:64MB以上のビデオメモリ
オペレーションシステム:
・
Windows XP (SP2以上)
・
Windows Server 2003 (SP2以上)
・ Windows Server 2008
オペレーションシステムはWindows Server 2003 (SP2以上)を推奨します。
その他:
・
Microsoft Internet Information Services(IIS)
・
Microsoft .NET Framework 3.5 SP1(インストールパッケージに付属)
・
SuperMap Objects(開発版またはランタイム版)
・
DirectX 9以上(オプション。SuperMap IS .NETと他のSuperMap Objectsで開発したプログラムを同時に実行する時に必要。)
・
開発環境は Microsoft Visual Studio 2008、またはその他の開発ツール
ヘルプファイルはほとんどが英語ですか?
はい、ヘルプファイルは一部を除き英語による解説となっています。SuperMap IS .NET製品についての日本語による解説は、関連製品のSuperMap IS .NET 2008のヘルプファイルをご参照いただくことができます。「SuperMap IS .NETヘルプファイル」(chmファイル)のトップページのリンクから、オンラインで弊社サーバーよりダウンロードしていただくことができます。
英語部分の日本語化については現在予定がありません。
開発環境、設定
SuperMap IS NET 2008の開発環境を教えてください。
必要なソフトウェア環境
オペレーションシステム(OS):
・
Windows XP(SP2以上)
・
Windows Server 2003 (SP2以上)
・
Windows Server 2008 (Windows Server 2003の使用を推奨)
その他:
Microsoft Internet Information Services(IIS)
・Microsoft .NET Framework 3.5(インストールパッケージに付属)
・
SuperMap Objects(ランタイム版または開発版)
・
DirectX 9(オプション。SuperMap IS .NETと他のSuperMap Objectsで開発したプログラムを同時に実行する時に必要。)
開発環境
1.WebControl開発、リモート開発
Microsoft Visual Studio 2005 、またはその他の開発ツール
2.WebService開発
WebServiceを使用できる環境。
IISがISと異なるコンピュータ上にある場合、どのように設定しますか?
1.MapControlのMapServerプロパティをlocalhost:8800から(ISサーバーのIP):8800に修正します。
2.MapControlのImageHandler.Enabledプロパティをtrueに修正します。
現在使用しているバージョンはどのように確認しますか?
ISインストールディレクトリの/bin/SuperMap.IS.AppServer.exe → プロパティ → バージョン情報 → ファイルバージョンで確認します。
SuperMap IS.NETをバージョンアップした後、いくつかの操作ができなくなりました。
アプリケーションプログラム中のscriptsフォルダのSMIS*.jsを更新してください。
Windows Server 2003 x64 EditionsへのIS .NETのインストールが失敗します。
64ビットのOSにインストールする場合、inetinfo.exeファイル(システムドライブ:\WINDOWS\system32\inetsrv\inetinfo.exe)を別のディレクトリのinetsrvフォルダ(システムドライブ:\WINDOWS\SysWOW64\inetsrv)にコピーしてください。
それから、再度IS .NETのインストールを実行してください。Windows XP Professional x64 Edition についても同様です。
IS.NETを利用する際、SuperMap ObjectsRT(ランタイム)を使用しますが、ライセンスは不要でしょうか?
IS.NETを使用するには、SuperMap ObjectsRT(ランタイム)をインストールする必要がありますが、IS.NET のライセンスのみで実行でき、SuperMap ObjectsRT(ランタイム)ライセンスは不要です。
configファイル
SuperMapIS.configファイルはどのような役割がありますか?
SuperMapIS.configファイルはSuperMap IS .NETのインストールフォルダにあり(例:C:\Program Files\SuperMap IS .NET 2008\Bin)、SuperMap ISで設定した情報を記録しておきます。これらの情報は、リリースするマップのパス、画像の出力パス、画像サイズなどです。
このファイルはマップサービス管理ツール(ISManager)を使って操作できます。
アドレス:http://localhost/IS/Manager/Default.aspx
直接このファイルを編集することもできますが、記述の間違いを避けるためにもなるべくISManagerを使用することをお勧めします。
SuperMapIS.configを修正して、ワークスペースを交換する方法は?
SuperMapIS.configファイルから以下のノードを探します。
<workspace path="../data/SMISSampleData.smw">
Pathプロパティを修正します。このパスは絶対パスと相対パスに対応しています。
絶対パス: <workspace path="D:\MAP\Date5\test.smw">
相対パス:(ISのBinフォルダに対して)<workspace path="../data/SMISSampleData.smw">
通常以下のように設定します。
<workspace path="../data/SMISSampleData.smw">
<maps>
</maps>
</workspace>
workspaceのmapsノードは省略することができません。これはマップの設定情報です。
ログファイル
ログファイルにはどのようなものがありますか?
通常は3つのLogファイルで、クラスタサービスを起動している場合は4つです。
(1) アプリケーションサービスログ:SuperMap.IS.AppServer.exe.log。SuperMap IS.NETサービス実行プロセスの情報を記録します。
(2) サービス管理ログ:SuperMap.IS.ServerManager.exe.log
(3) オートタスクログ:SuperMap.IS.AutoTask.exe.log
クラスタサービスを起動している場合:
(4) クラスタサービスログ:SuperMap.IS.LoadDemon.exe.log
ログファイルの情報には、プロセス発生の時間が記録されています。
例:2008-08-08 20:08:48.734+08:00 [I] サーバーの起動に成功しました。
(情報タイプ: [I]一般情報 [W]警告情報 [E]エラー情報)
ログファイルはどこにありますか?
SuperMap IS.NETのインストールディレクトリにあります。
例えば、C:\Program Files\SuperMap IS .NET 2008\Bin\Log
ログは日付ごとに1つのフォルダを作成して記録します。
例えば、SuperMap IS .NET 2008\Bin\Log\20080808ディレクトリは2008-08-08のSuperMap IS.NETの実行ログです。
サービスを起動した後でも、AppServer.exe.logが生成されていないのは何故?
SuperMap Objectsの以下について確認してください。
(1) SuperMap Objects(開発版またはランタイム版)をインストールしていますか?
(2) SuperMap Objectsのライブラリファイルをレジスト(登録)していますか?(していない場合は、SuperMap Objectsインストールディレクトリ\bin\SmRegister.exeを実行)
(3) SuperMap Objectsのライセンスを設定していますか?
クラスタ
なぜクラスタを使用するのですか?
SuperMap IS .NET 2008でマップを出力するプロセスは次のとおりです。
サーバーでマップサービスを起動する → 指定ポートのリクエストをモニターする → リクエストを受け取り、対応する機能を実行する(マップ拡大縮小など) → 結果の画像を生成する → 画像名、パスをクライアントに返す
多くのリクエストが同時に発生している場合、マップサービスは前のリクエストの処理が完了していない間、後のリクエストの処理を待たせていることになり、この結果反応速度が遅くなります。この問題をクラスタを使用することで解決することができます。
クラスタの主な効果は以下のとおりです。
1.レスポンス速度を高めます。
2.同時アクセス能力を高めます。
3.サービスの安定性を高めます。
クラスタの作業原理:
まず1つのクラスタサービスを起動して、次に2つもしくはそれ以上のクラスタサービスが管理するマップサービスを起動します。これらのサービスは自らの状態(ビジーかどうか)をクラスタに報告します。そして、クライアントからリクエストを送ると、直接マップサービスにアクセスするのではなくクラスタにアクセスして、クラスタによりビジーでないマップサービスが割り当てられます。
どのようにクラスタを設定しますか?
1.http://localhost/IS/Manager/Default.aspx ページにアクセスします。もしくはbinディレクトリのSuperMapIS.configファイルを修正します。
2.同一サーバー機で異なるマップサービスを設定するとき、各マップサービスのチャンネル、ポートが唯一となるように注意します。
3.複数のマップアプリケーションを設定する場合、マップ(ワークスペース、データソース)をコピーして、アプリケーションごとに1つデータを対応させるようにします(編集しない場合)。
4.クラスタに追加で「はい」を選択します(clusterNode="true")。
5.LoadDemonサービスを起動します。複数のサーバー機を使う場合も全て起動します。
6.SuperMapIS.configの<performanceCounters>で性能指標を設定します。
7.クラスタの際、サーバーでは3種類の動作モードがあります。SuperMapIS.configファイルの<cluster>のクラスタモードを設定します。
モニタリングのみの場合 <cluster runas="MonitoringServer">
モニタリングとレポートの場合 <cluster runas="BothServer">
レポートのみの場合 <cluster runas="ReportingServer">
8.あるサーバーをクラスタサーバーに設定する場合、全てのサーバーの設定ファイルで、<targetHostOrIpAddress><multicastIpAddress>を当該サーバーのIPに設定します。
9.クラスタが成功かどうかを検証する場合、MapContrtolのLoadMapでポートを16000に設定します。マップを表示することができればクラスタが成功していることになります。
10.マップサービス起動後、AppServerの数量はマップインスタンスの数量です。
AspxDemo
地図表示
マップをあるサイズまで拡大すると、マップ移動機能が効かなくなります。
キャッシュを使用しているためです。
マップサービス管理ツール(ISManager)、http://localhost/IS/Manager/Default.aspx ページの「キャッシュ設定」で、「キャッシュの開閉」を「閉じる」に設定することで、この現象を回避できます。
ただし特別な不具合がない限り、キャッシュを使用することを推奨します。キャッシュのパラメータを適切に設定することで、性能をより向上させることができます。
オーバービューに「マップの表示範囲を超えています」と表示されてしまいます。
以下のステップを確認してください。
1.Ctrl+F5でページを更新して、ページキャッシュが使われていないことを確認します。
2.ワークスペースがマップを含むか、またマップにはレイヤーが含まれているかを確認します。
3.SuperMap IS.NETサービスを停止して、データソースの中のデータセットに対して境界範囲の更新と空間インデックスの再計算を実行します。
マップを表示することができません。
以下の項目をご確認ください。
(1) SuperMap Objects(開発版またはランタイム版)の対応するバージョンをインストールしていますか?
SuperMap IS .NETの実行にはSuperMap Objectsライブラリのサポートを必要とします。
(2) SuperMap IS .NETのライセンスがありますか?
ファイルタイプのライセンスの場合、弊社にSuperMap IS .NETのいずれかのライセンスを申請し、弊社より発行されたものを使用してください。
お手元のライセンスファイル(*.dat)をテキストエディタで開き、以下のいずれかの項目が存在するかどうかを確認することで、SuperMap IS .NETに対応するライセンスかどうかを確認することも可能です。
[SmISNETDevelop]
LicenseData=*********
[SmISNETProfessional]
LicenseData=*********
[SmISNETAdvanced]
LicenseData=*********
ライセンスファイルが使用できない場合、カスタマサポートにお問い合わせください。
(3) ライセンスの設定を行いましたか?
Windowsの「スタート」-「プログラム」-「SuperMap」-「ライセンス設定ツール」から対応するSuperMap IS .NETのライセンス及びSuperMap Objects(開発版またはランタイム版)のライセンスを設定します。
(4) ログファイルを確認
SuperMap IS .NETインストールディレクトリの\bin\log\(日付)\ログファイルで、エラー情報を参照してください。エラーが無い場合、SuperMap IS .NETインストールディレクトリの\outputフォルダに画像が生成されているか確認してください。
(5) IISのWebサイトのプロパティを確認 http://localhost/IS/Manager/Default.aspx のシステム設定で画像生成ホスト名をIPアドレスに設定します。
ローカルでマップを表示することができますが、別のクライアントからは表示できません。
ページのソースコードを検査してpngを探します。この画像のアドレスがhttp://localhost/output/*****.png となっている場合、pngは生成していても、アドレスがlocalhostのため、他のクライアントからは取得することができません。
http://localhost/IS/Manager/Default.aspx のシステム設定で画像生成ホスト名をIPアドレスに設定することで解決します。
長い時間マップ操作をしなかった後で操作をすると反応しません。
マップの状態はsessionに記録します。長い時間マップ操作をしないとsessionがタイムアウトになり、一連のマップ状態の情報が取得できなくなり操作できなくなります。
プロジェクトのweb.configからsessionを探し、
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20" />
ここで、timeoutを長めに調整します。
マップコントロールと索引図でどのように異なるマップを表示させますか?
OverviewControlのMapNameプロパティで、索引図で表示したいマップ名を設定すれば可能です。
マップコントロールをプロジェクトのサブディレクトリのページに入れると、画像を表示することができないのは何故?
IS .NET 5のweb コントロールが必要とするリソースは、コントロールをページに追加する時に自動で追加されます。
リソースにはimagesフォルダに生成される画像とscriptフォルダに生成されるjavascriptスクリプトが含まれます。コントロールがリソースを使うとき相対パスを使うため、サブディレクトリからリソースを探すことができません。
プロジェクトのディレクトリにコントロールが生成したimagesとscriptフォルダをサブディレクトリにコピーすることで解消します。
レイヤーコントロール
クエリ
ルート解析
キャッシュ
DeskproでISのキャッシュを作成する方法を教えてください。
SuperMap Deskproを用いるAjax用キャッシュ作成操作は次のとおりです。
(1) SuperMap Deskpro(またはExpress、Viewer)とSuperMap ObjectsのインストールディレクトリのBinフォルダの中のSuperMap.iniファイルをCustomMapRatioEnable =trueに設定します。デフォルトはfalseです。
(2) [SuperMap Deskpro] キャッシュを生成するマップを開いた状態で、メニューの「マップ」→「マップキャッシュ」をクリックして、「マップキャッシュ」ダイアログを表示します。
(3) 実際の運用状況にあわせ、スケール等のパラメータを設定し、「キャッシュ生成」を実行して指定場所にキャッシュファイルを生成します。
(4) [SuperMap IS.NET] システム設定から対応するマップサーバーを開き、「キャッシュ設定」の「互換モード」を「True」に設定します。もしくは、直接SuperMapIS.configファイルを開き、compatibleModeパラメータをtrueに設定します。
ファイルディレクトリ:ISのインストールパスSuperMap\SuperMap IS .NET 2008\Bin\SuperMapIS.config <mapCacheSetting useCache="quickCache" compatibleMode="true" />
デフォルトはfalseです。
(5) Deskproで作成したキャッシュファイルをquickCacheフォルダへ保存します。
フォルダディレクトリ:ISのインストールパスSuperMap\SuperMap IS .NET 2008\output\quickCache
(6) ISサービスを再起動します。
※SuperMap IS.NETがインストールされているサーバーと異なる環境でAjax用のキャッシュを作成する場合には「SuperMap.iniファイル」の設定が必要です。
※SuperMap DeskproでAjax用のキャッシュを作成する場合には(環境に関わらず)「SuperMapIS.configファイル」の設定が必要です。
異なるマップに異なるキャッシュ画像タイプを設定する方法は?
1. 初期化する画像フォーマットを指定します。
SuperMap.IS.Utility.jsファイルの「_CreateMapControl」メソッドに以下のコードを追加します。
imageFormat="PNG"; //PNG/GIF/JPG/TIFF/BMP
2. マップを切り替える場合、マップ名に基づき、使用する画像フォーマットを設定します。
(1) Page.jsファイルに以下のコードを追加します。
function onStartSwitchMap(e){
var mapName= e.param.mapName; //切り替え先のマップ名を取得
if (mapName == "Tokyo23DemoMap")
{
e.param.imageFormat = "GIF"; // e.param.mapNameに基づきimageFormatを指定
}
else
{
e.param.imageFormat = "PNG";
}
}
(2) Default.aspx.csの「Page_Load」に以下のコードを追加します。
MapControl1.AttachClientEvent("onstartswitchmap", "onStartSwitchMap");
AjaxMapの表示で常に同じ箇所だけグレー画像のままで正常に表示されません。
当該箇所で初回にキャッシュが生成される際、異常なキャッシュ画像が生成された状態となっています。当該箇所のキャッシュ画像を削除して再作成する必要があります。
手順は以下の通りです。
①ISサービスを停止します。
②WWWサービスを停止します。(Windows2003の「w3wp.exe」プロセス。 WindowXPの「aspnet_wp.exe」プロセス)。
③IS.NETインストールディレクトリのoutput\quickCacheフォルダ以下の当該マップに対応するフォルダを削除します。
マップ全体でなく、当該箇所のフォルダまたはファイルのみを削除する場合、フォルダまたはファイルを特定する方法として、output\quickCacheフォルダ以下の 当該マップに対応するフォルダを一時的に名前を変更する、または移動するなどしてキャッシュが存在しない状況を作り、当該箇所を該当する縮尺で表示して、新規に生成されたフォルダ、またはファイルから知ることができます。
④IEのキャッシュを削除します。
⑤Temporary ASP.NET FilesのFrameworkのキャッシュを削除し ます。
OS:\Windows\Microsoft.NET\Framework\v2.0.50727\TemporaryASP.NET Files
⑥IS.NETのサービスを再起動して、当該箇所を閲覧してキャッシュを再作成するか、または別途キャッシュ作成ツールで再作成します。
使用しているDBの種類やエディションの違いにより、生成されるIS.NETのキャッシュに違いがありますか?
違いはありません。生成されるキャッシュ画像は同じです。
IS.NET Enterpriseのトライアルライセンスでは、Ajaxマップの左上にトライアルを示す文字が表示されますが、生成されるキャッシュ画像にもこの文字が表示されているのでしょうか?
はい、この文字が印字されたキャッシュ画像が生成されます。
マップの表示内容が同じで、データソース名やレイヤー名が変わった場合、キャッシュを作り直す必要がありますか?
ConfigファイルのcompatibleMode(互換モード)の設定により異なります。
trueの場合: データソース名、データセット名、レイヤー名が異なっても、マップ構成(表示状態)が同じであれば、キャッシュを作り直す必要はありません。マップ表示状態に影響がなくても、マップを構成するレイヤーの有無、レイヤーの順序、レイヤーの表示/非表示設定を変更した場合は、キャッシュを作り直す必要があります。
falseの場合: trueと違う点として、レイヤー名が異なる場合も、キャッシュを作り直す必要があります。
outputフォルダにキャッシュされたファイルが蓄積して相当なサイズになっていますが、パフォーマンスに影響しないでしょうか?
outputフォルダ内のファイル数やサイズの大きさは、SuperMap IS.NETのサービス運用の性能には影響しません。
カスタムエンジン
カスタムエンジンとは何ですか?
カスタムエンジンは、IS.NETの標準機能に無い機能を実現するために、SuperMap Objectsまたは他のエンジン(GIS以外の機能を中心に)を使って作成したコードを実装したパッケージです。カスタムエンジンは、ファイルで言うとDLL(ライブラリ)に相当します。SuperMap Objectsを使ってカスタムエンジンを開発する場合は、ObjectsのAPIを使うなどしてコーディングを行い、これをコンパイルしてDLLファイルとして封じ込めます。これを「パッケージング」と呼び、パッケージングしたものをカスタムエンジンと呼びます。IS.NETで開発したアプリケーションで、カスタムエンジンに組み込まれた機能を実行する場合は、アプリ中のコードで、このライブラリを呼び出して、この中で定義されたGIS処理を実行します。
その他
ダイナミックリンクライブラリの初期化ルーチンに失敗します。
これはMSIE Treeview control's bug.で特定の環境で発生することがあります。現在解決する方法がありませんが、ISの設定には影響がありません。また手動でSuperMapIS.configを修正して設定変更することもできます。
マウスをクリックするか、あるオブジェクトに移動すると、当該オブジェクトの属性が表示されるようにしたい。
表示する情報のポイントが少ない場合、マップロードの時にこれらのポイントオブジェクトの情報をクエリして、ユーザー定義レイヤー上に追加します。その後ユーザー定義レイヤーで、マウスが移動したときのイベント(OnMouseMove)を実施します。
ポイントが多い場合は、マウスをクリックした時にクリック位置でクエリを行ってください。最後にクエリした情報を表示します。
WebページをFrameで分割した場合、 FrameAの領域にMapControlを貼り付け、FrameBにリンクするコントロールを貼り付けた場合、正常に動作しますか?
正常に動作することができません。
ページ配置する場合、DIVを使用されることをお勧めします。
AjaxのMapControlに追加されたTileCheckTimeプロパティの使い方を教えてください。
TileCheckTimeはマップ画像がロードを完了したかどうかを検査する時間を設定するもので、デフォルトは2、単位は秒です。クライアント側でサーバーにマップ画像リクエストを送る際、一部のリクエストがサーバーに送られない、またはサーバーがそのリクエストを処理しない等により、画像がロードされない状況が起こり得ます。
このような状況に対応するため、上記のような時間を設定して状況を確認し、再度マップ画像リクエストを送ります。 ネットワーク状況が悪い、またはサーバーに大量のリクエストが同時に送られるなどの状況では、マップ画像リクエストに対するレスポンス、結果を返すのには比較的時間がかかってしまいます。この時間が上記設定の時間を超えた場合、リクエストが正常に処理されなかったと判断し、再度マップ画像リクエストを送ります。このような状況を避けるため、必要に応じて時間を設定してください。
この値を設定すると、IS.NETが自動的に処理しますので、他の操作はする必要はありません。
SDD/SDB方式でWeb配信をする場合、複数のユーザからアクセスがあると、正しく処理できますか? ReadOnlyでSDD/SDBを開く必要があるでしょうか。あるいは、SQLServerやOracleなどのDBが必要でしょうか?速度的にはどちらが速いでしょうか。
SDD/SDB方式では、ReadOnlyでなくても、複数のユーザーからアクセスすることができます。
IS.NETはサーバー側でワークスペースを配信するため、ReadOnlyに設定しなくても編集することができます。
速度については、ファイルタイプのデータソースはデータベースタイプのデータソースより速いため、データ量などの制限がなければ、ファイルタイプのデータソースのご使用をお勧めします。
MapContorolの幅や高さをJavaScriptで変更し、地図の内容を更新する方法を教えてください。Overviewコントロールの場合についても教えてください。
SuperMap IS.NETが提供しているMapControl.Resize()メソッドで、マップコントロールの幅と高さを変更することができます。
(例)
function Resize(x,y)
{
this.MapControl1.Resize(x,y);
}
※Resize(x,y)のx,yが文字の場合の単位はpxです。
Overviewコントロールの場合は、上記のような方法で変更することはできず、動態的にOverviewコントロールを実例化する必要があります。
AjaxMapでCustomLayerに記述したものすべてを画像化する方法は?
AjaxControlではCustomLayerの内容を印刷することができません。CustomLayer に記述したものすべてを画像化するためには、マップ画面をキャプチャーし保存してください。