Программный интерфейс предназначен для создания ГИС-клиентов, интегрирующих данные сервисов ArcGIS Server и Microsoft Virtual Earth.
Программный интерфейс расширяет Microsoft Virtual Earth API™, позволяя отображать данные ArcGIS Server поверх карт Microsoft Virtual Earth.
Предоставляет разработчику широкие возможности визуализации, картографирования, геокодирования и геообработки на основе Microsoft Virtual Earth API.
6.1 Описание ArcGIS JavaScript Ext. for Microsoft Virtual Earth
ArcGIS JavaScript Ext. for Microsoft Virtual Earth — это технология, предоставляющая доступ к объекту карты Microsoft Virtual Earth с возможностью доступа к сервисам ArcGIS Server. При использовании этой технологии разработчику доступна как функциональность Microsoft Virtual Earth API, так и выполнение задач ArcGIS Server.
Программный интерфейс позволяет:
· отображать данные, атрибутику и символику сервисов ArcGIS Server поверх карт Microsoft Virtual Earth
· выполнять поиск и идентификацию объектов сервисов ArcGIS Server
· производить выборку по запросам
· выполнять геокодирование через сервисы ArcGIS Server
· выполнять анализ данных при помощи геообработки и отображать результаты на картах Microsoft Virtual Earth
· выполнять сетевой анализ (Network extension для ArcGIS Server)
Пример приложения, выполняющего отображение адреса указанного пользователем месторасположения (обратное геокодирование)
Получение информации о сервисе ArcGIS Server (через интерфейс REST)
Разработчикам, уже знакомым с Microsoft Virtual Earth API, создание картографических приложений на ArcGIS JavaScript Ext. for Microsoft Virtual Earth сложностей не составит.
Библиотеки ArcGIS JavaScript Ext. for Microsoft Virtual Earth также бесплатны для использования, однако они всегда хранятся на сервере ESRI.
6.2 Ресурсы разработчика
· Центр ресурсов по ArcGIS JavaScript Ext. for Microsoft Virtual Earth: http://resources.esri.com/arcgisserver/apis/javascript/ve/index.cfm?fa=home
§ Общее описание и примеры, Справочник по классам, Интерактивный учебник
· Руководство Microsoft Virtual Earth API
Один из примеров интерактивного учебника: расчет периметра и площади нарисованного полигона
6.3 Приложение «Hello, World!» на ArcGIS JavaScript Ext. for Microsoft Virtual Earth
Преимуществом в разработке картографического приложения на ArcGIS JavaScript Ext. for Microsoft Virtual Earth являются знания Microsoft Virtual Earth API. Однако, приложение «Hello, World!» будет понятно и без таковых.
Создайте пустой html-документ vemap.html на диске и вставьте в него код приложения:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Приложение «Hello, World!» на ArcGIS JavaScript Ext. for Microsoft Virtual Earth</title>
<script src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2" type="text/javascript"></script>
<script src="http://serverapi.arcgisonline.com/jsapi/ve/?v=1.2" type="text/javascript"></script>
<script language="javascript" type="text/javascript" >
var map = null;
function OnPageLoad() {
var centerat = new VELatLong(45.50634690108341, -122.67883300781251);
map = new VEMap('mymap');
map.LoadMap(centerat, 12, VEMapStyle.Aerial, false);
AddAGSMap();
}
var agisve_services = null;
var tileUrl = "http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Portland/ESRI_LandBase_WebMercator/MapServer";
function AddAGSMap() {
agisve_services = new ESRI.ArcGIS.VE.ArcGISLayerFactory();
agisve_services.CreateLayer(tileUrl, "Parcels", GetMap);
}
function GetMap(tileSourceSpec, resourceInfo) {
tileSourceSpec.MinZoom = 10;
tileSourceSpec.Opacity = 0.5;
map.AddTileLayer(tileSourceSpec, true);
}
</script>
</head>
<body onload="OnPageLoad()" >
<div id='mymap' style="position:relative; width: 750px; height: 500px;"></div>
</body>
</html>
Пояснения к тексту программы:
· фрагмент кода, подключающий необходимые библиотеки:
<script src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2" type="text/javascript"></script>
<
script
src
="
http
://
serverapi
.
arcgisonline
.
com
/
jsapi
/
ve
/?
v
=1.2"
type
="
text
/
javascript
"></
script
>
Первая строка подключает библиотеки Microsoft Virtual Earth API.
Вторая — библиотеки ArcGIS JavaScript Ext. for Microsoft Virtual Earth.
· Код Microsoft Virtual Earth API
var centerat = new VELatLong(45.50634690108341, -122.67883300781251);
map = new VEMap('mymap');
map.LoadMap(centerat, 12, VEMapStyle.Aerial, false);
создает объект карты VEMap
и устанавливает текущий экстент на Portland, USA.
· Затем на карту Virtual Earth добавляется сервис ArcGIS Server (функция AddAGSMap
()
):
function AddAGSMap() {
agisve_services = new ESRI.ArcGIS.VE.ArcGISLayerFactory();
agisve_services.CreateLayer(tileUrl, "Parcels", GetMap);
}
function GetMap(tileSourceSpec, resourceInfo) {
tileSourceSpec.MinZoom = 10;
tileSourceSpec.Opacity = 0.5;
map.AddTileLayer(tileSourceSpec, true);
}
Устанавливается степень прозрачности слоя 0.5 и указывается функция, выполняющая добавление слоя на карту после его загрузки, GetMap
.
· В теле HTML-документа следует поместить контейнер для объекта карты:
<body onload="OnPageLoad()" >
<div id='mymap' style="position:relative; width: 750px; height: 500px;"></div>
</
body
>
Откройте документ vemap.html в окне веб-браузера.
Результат работы: Простое картографическое приложение, отображающее слой ArcGIS Server поверх карты Microsoft Virtual Earth
Скачать PDF-версию с оригинальным оформлением. © Для использования опубликованных на ресурсе материалов достаточно упоминания имени автора и адреса первоисточника. Дата обновления: 2009-02-15.
Комментариев нет:
Отправить комментарий