ESRI マップビューア現在表示範囲の座標を変数として取得
ESRI マップの現在表示範囲をマップパラメータとして取得し、そのパラメータを後からマップレイヤやレポートのフィルタ設定に使用することができます。この表示範囲は、任意の座標系の座標として取得できますが、単純なポリゴンである必要があります。
マップ表示範囲変数の名前は次のとおりです。
- &MINX - 表示範囲の最小経度を定義します。
- &MINY - 表示範囲の最小緯度を定義します。
- &MAXX - 表示範囲の最大経度を定義します。
- &MAXY - 表示範囲の最大緯度を定義します。
マップでの現在表示範囲パラメータの使用
次の手順に従ってマップを作成し、マップが更新された際に現在の表示範囲内にマーカーを表示するプロシジャを使用します。
- 「RetailExtent」の名前でワークスペースを作成します。
- ワークスペースを右クリックし、[新規作成]、[プロシジャ] を順に選択します。
- 次のプロシジャをコピーし、テキストエディタに貼り付けて、「retail_map.fex」という名前で保存します。
-DEFAULT &MINX=_FOC_NULL -DEFAULT &MAXX=_FOC_NULL -DEFAULT &MINY=_FOC_NULL -DEFAULT &MAXY=_FOC_NULL DEFINE FILE WF_RETAIL_LITE LATITUDE = STATE_PROV_CAPITAL_LATITUDE; LONGITUDE = STATE_PROV_CAPITAL_LONGITUDE; END TABLE FILE WF_RETAIL_LITE PRINT ID_CUSTOMER QUANTITY_SOLD MSRP_US FST.LATITUDE FST.LONGITUDE WHERE RECORDLIMIT EQ 250 WHERE COUNTRY_NAME EQ 'United States' WHERE LATITUDE GE &MINY WHERE LATITUDE LE &MAXY WHERE LONGITUDE GE &MINX WHERE LONGITUDE LE &MAXX ON TABLE SET PAGE-NUM NOLEAD ON TABLE SET ASNAMES ON ON TABLE NOTOTAL ON TABLE PCHOLD FORMAT XML ON TABLE SET HTMLEMBEDIMG ON ON TABLE SET HTMLCSS ON ENDこのプロシジャには、現在表示されている範囲のマーカーのみを表示するための WHERE 条件が含まれています。
- 下図のように、HTML ページを新規作成し、マップオブジェクトおよびボタンを追加します。

- [リクエストとデータソース] パネルで、[新規作成] ボタン横のドロップダウンリストをクリックし、[外部リクエスト]、[WebFOCUS プロシジャ] を順に選択します。[retail_map.fex] を選択します。
- マップを選択し、[設定] パネルを下図のように構成します。

- [リクエストとデータソース] パネルで、[retail_map] リクエストを右クリックし、[パラメータコントロールの作成] を選択します。
[新規パラメータ] ダイアログボックスが表示されます。
- [コントロールタイプ] 列の先頭行の値を右クリックし、[既存コントロール]、[emfobject1] を順に選択します。
![[新規パラメータ] ダイアログボックスで emfobject1 をパラメータコントロールとして設定](8204_esri_extentvars6_500x259.png)
![パラメータを既存コントロールとして作成する [新規パラメータ] ダイアログボックス](8205_esriextentvars6_467x345.jpg)
- [OK] をクリックします。
- ボタンを選択して [タスクとアニメーション] パネルを開き、下図のように、ボタンがクリックされた際にマップを更新するタスクを作成します。

- HTML ページを保存します。
ページを実行すると、下図のように、すべてのマーカーがマップ上に表示されます。
ズームインした後、ボタンをクリックします。下図のように、マップが更新され、その範囲のマーカーのみが表示されます。