Skip To Content

앱 템플릿 생성

사용자 고유의 사용자 정의 웹 앱 템플릿을 생성하려면 기존 템플릿 중 하나를 다운로드하여 수정하거나, 포털의 콘텐츠와 함께 작동하도록 기존 웹 앱을 업데이트하거나, ArcGIS 웹 API 중 하나를 사용하여 새 웹 앱을 생성하면 됩니다. 어떤 방법으로 템플릿을 생성하든 URL 매개변수 및 맵을 사용하게 됩니다. 그룹 템플릿을 생성할 경우 그룹과 함께 작업할 수 있는데, 이때 Bing 베이스맵 작업, 비공개 맵 접근 및 프록시 또는 CORS(Cross-Origin Resource Sharing)가 필요한 리소스 작업에 대한 추가 요구 사항을 고려할 수 있습니다. 또한 항목을 포털에 추가하고, 이를 내 기관의 템플릿 그룹 중 하나와 공유할 수 있습니다(내 기관에서 사용자의 템플릿을 해당 템플릿 갤러리에서 사용할 계획인 경우).

Portal for ArcGIS 에는 ArcGIS API 3.15 for JavaScript가 포함되어 있습니다. 자체 API를 호스팅하고 포털이 새로 생성된 앱 템플릿의 로컬 버전을 가리키도록 지정할 필요가 없습니다. 웹 앱 템플릿에서 설치된 API를 자동으로 참조합니다. 로컬로 설치된 API는 일반적으로 https://webadaptorhost.domain.com/webadaptorname/jsapi/jsapi에서 사용할 수 있습니다.

주의:

Portal for ArcGIS와 함께 제공된 웹 앱 템플릿 파일을 변경하지 마세요. 이러한 파일은 포털에서 관리되므로 변경할 경우 이후에 포털에서 덮어쓸 수 있습니다. 템플릿을 사용자 정의하려면 다음과 같이 하세요.

  1. 사용자 정의할 기존 템플릿 파일의 복사본을 만듭니다.
  2. 복사본을 디스크의 다른 위치에 저장합니다.
  3. 템플릿 복사본을 사용자 정의합니다.
  4. 포털에 새 템플릿으로 추가합니다.

이 항목에서는 웹 앱 템플릿을 생성하는 방법을 다룹니다. 콘텐츠를 생성하고 내 기관의 그룹에 공유할 권한이 있는 것으로 가정합니다. 템플릿을 생성한 후 이를 구성하도록 만들 수 있습니다. 구성 설정 템플릿을 사용하면 사용자가 앱의 모양과 동작을 사용자 정의할 수 있습니다.

웹 맵

앱 템플릿은 맵 뷰어에 현재 보이는 맵을 사용하도록 설계되었습니다. 일반적으로 템플릿은 웹 맵 URL 매개변수에 지정된 웹 맵을 기반으로 맵을 생성합니다. 각각의 웹 API에는 웹 맵 ID의 정보를 사용하여 맵을 생성하는 도우미 메소드가 있습니다.

예를 들어 ArcGIS API for JavaScript esri.arcgis.utils.createMap 메소드를 사용하여 입력 ID를 기반으로 맵을 생성할 수 있습니다. 또한 esri.arcgis.utils.createMap에 대한 동기 요청이 완료된 경우에 실행되는 콜백 함수를 포함할 수 있습니다.

esri.arcgis.utils.createMap(webmap,"map",{
   mapOptions:{
     slider:false
   },
   bingMapsKey:bingMapsKey
}).then(function(response){
    map = response.map;
});
참고 사항:

웹 맵에 Bing Maps 베이스맵이 포함된 경우 createMap 메소드를 사용할 때 Bing Maps 키를 지정해야 합니다. 그 밖에도 슬라이더, 탐색, 속성 등의 보기 여부와 같은 여러 가지 기타 맵 옵션을 지정할 수 있습니다.

callback 함수는 맵 개체, 레이어 등에 접근할 수 있는 응답 개체에 대한 접근 권한을 제공합니다.

앱 템플릿 등록

앱 템플릿에서 보안 항목으로 작업하고 있으면 먼저 플랫폼에 등록하는 것이 좋습니다. 등록하려면 새 웹 매핑 응용프로그램을 추가하고 웹 서버에서 호스팅하는 앱 템플릿으로 URL을 설정합니다.

항목을 추가한 후 앱 등록을 해야 합니다. 웹 앱이므로 유형을 Browser로 유지하고 Redirect URI가 템플릿 앱 URL을 가리키도록 합니다.

앱을 등록하면 이제 고유한 응용프로그램 ID를 가지게 됩니다.

등록된 앱 ID를 인식하도록 Identity Manager로 작업합니다. 자세한 내용은 ArcGIS API for JavaScipt에 포함되어 있는 OAuth BasicOAuth Popup OAuth 샘플을 참고하세요.

그룹

그룹 템플릿은 지정된 그룹의 콘텐츠를 앱으로 보여줍니다.

ArcGIS REST API를 사용하면 포털의 콘텐츠에 접근할 수 있습니다. 이를 사용하여 입력된 그룹 ID를 기반으로 그룹 콘텐츠를 검색할 수 있습니다.

다음 예시에서는 입력 ID로 그룹을 찾기 위해 쿼리를 수행합니다.

var portal = new esri.arcgis.Portal('https://webadaptorhost.domain.com/webadaptorname/');
dojo.connect(portal, 'onLoad',function(){
    portal.queryGroup(groupid).then(function(response){
        var group = response.results[0];
     });
});

그룹을 찾은 후에는 그룹에서 항목을 검색하기 위해 쿼리할 수 있습니다.

이 예시에서는 그룹을 쿼리하여 유형이 Web Map 또는 Web Mapping Application인 항목 5개를 찾습니다.

var queryParams = {
    q: 'type:"Web Map" -type:"Web Mapping Application"',
    num: 5
 };
group.queryItems(queryParams).then(function(response){
    var groupItems = response.results;
});

추가 고려 사항

일반적으로 웹 앱은 많은 유형의 콘텐츠를 사용하도록 설계되므로 Bing Maps 베이스맵, 비공개 콘텐츠 등이 포함된 맵을 처리하도록 템플릿을 설정해야 할 수 있습니다. 특정 고려 사항은 다음과 같습니다.

Bing Maps 키

디스플레이하려는 맵에서 Bing Maps 베이스맵을 사용하는 경우 앱에 Bing Maps 키를 포함해야 합니다. Bing Maps 키는 createMap 메소드의 매개변수로 제공됩니다.

프록시 및 CORS 지원

앱에서 교차 도메인 요청을 보낼 경우 CORS(Cross-Origin Resource Sharing)를 활성화하거나 앱에 프록시를 추가해야 합니다.

포털에 템플릿 추가

템플릿을 생성하고 웹 서버에서 호스팅한 경우 포털에 웹 앱 항목으로 템플릿을 추가하고 앱에 대한 URL을 지정합니다. 그런 다음 구성 설정을 선택하고, API에서 JavaScript를 선택합니다.

제목과 요약은 사용자가 템플릿 갤러리의 템플릿 항목을 가리키면 나타나므로, 자세히 씁니다. 필요한 경우 앱 파일이 포함된 ZIP 파일을 생성해 항목에 첨부하여 다운로드 기능을 제공할 수 있습니다.

내 기관 앱 갤러리의 템플릿 사용

내 기관의 맵 뷰어 앱 갤러리 또는 그룹 앱 갤러리에 있는 템플릿을 사용하려면 해당 갤러리의 그룹과 항목을 공유합니다. 그러면 내 기관의 관리자가 사용자의 템플릿이 포함된 그룹을 사용하도록 맵 뷰어를 구성하거나 그룹을 구성할 수 있습니다.