Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2012-09-11

Сравни

спорят хохол с кацапом, у кого язык непонятней : кацап спрашивает у
хохла: вот у вас есть слово "НЕЗАБАРОМ" - это обозначает где, если не за
баром? совсем не понятно.
хохол ему: та шо там наша мова не розумила вы на свий подывиться ! шо такэ
ваше слово "СРАВ НИ" -це як, чи срав, чи ни?

А вот по мотивам двухдневного квеста.
ArcGIS Viewer for Silverlight, в документации рассказано о трех библиотеках:

  • ESRI.ArcGIS.Client.Application.Controls,
  • ESRI.ArcGIS.Client.Application.Layout,
  • ESRI.ArcGIS.Client.Extensibility.

Плюс о шести в другой документации:

  • ESRI.ArcGIS.Client.dll
  • ESRI.ArcGIS.Client.Behaviors.dll
  • ESRI.ArcGIS.Client.Bing.dll
  • ESRI.ArcGIS.Client.Toolkit.dll
  • ESRI.ArcGIS.Client.Toolkit.DataSources.dll
  • ESRI.ArcGIS.Client.WebMap.dll

В приложении у меня используется, помимо перечисленных:
ESRI.ArcGIS.Mapping.Core
Эта появилась сегодня, без нее не решалась задача.

А на диске находится (считайте сами):

  • ESRI.ArcGIS.Client.Application.Controls.dll
  • ESRI.ArcGIS.Client.Application.Layout.dll
  • ESRI.ArcGIS.Client.Behaviors.Design.dll
  • ESRI.ArcGIS.Client.Behaviors.dll
  • ESRI.ArcGIS.Client.Behaviors.resources.dll
  • ESRI.ArcGIS.Client.Bing.Design.dll
  • ESRI.ArcGIS.Client.Bing.dll
  • ESRI.ArcGIS.Client.Bing.resources.dll
  • ESRI.ArcGIS.Client.Design.dll
  • ESRI.ArcGIS.Client.Design.Editors.dll
  • ESRI.ArcGIS.Client.Design.Types.dll
  • ESRI.ArcGIS.Client.dll
  • ESRI.ArcGIS.Client.Extensibility.dll
  • ESRI.ArcGIS.Client.resources.dll
  • ESRI.ArcGIS.Client.Toolkit.DataSources.dll
  • ESRI.ArcGIS.Client.Toolkit.DataSources.resources.dll
  • ESRI.ArcGIS.Client.Toolkit.Design.dll
  • ESRI.ArcGIS.Client.Toolkit.dll
  • ESRI.ArcGIS.Client.Toolkit.resources.dll
  • ESRI.ArcGIS.Client.WebMap.Design.dll
  • ESRI.ArcGIS.Client.WebMap.dll
  • ESRI.ArcGIS.Client.WebMap.resources.dll
  • ESRI.ArcGIS.Mapping.Behaviors.dll
  • ESRI.ArcGIS.Mapping.Controls.ArcGISOnline.dll
  • ESRI.ArcGIS.Mapping.Controls.dll
  • ESRI.ArcGIS.Mapping.Core.dll
  • ESRI.ArcGIS.Mapping.DataSources.dll
  • ESRI.ArcGIS.Mapping.GP.dll
  • ESRI.ArcGIS.Mapping.Identify.dll
  • ESRI.ArcGIS.Mapping.Viewer.dll
  • ESRI.ArcGIS.Mapping.Windowing.dll

Как это называется? Я щетаю — свинство. Код закрыт, документации нет, пользуйтесь нашим продуктом, лучшим в мире.

Задача была — считывать и записывать один из параметров для вложенных в ArcGISDynamicMapServiceLayer слоев. А именно PopUpsEnabled. Что характерно, ихний ApplicationBuilder управлять этим параметром умеет. Но поскольку в документации на эту тему ничего нет, есть только про вкл/выкл попапов для слоев верхнего уровня, все мои попытки были обречены.

И только на форуме нашлась информация по теме
после чего задача решилась достаточно банально
// получить номера слоев с включенными popups
var ids = ESRI.ArcGIS.Mapping.Core.LayerExtensions.GetIdentifyLayerIds(l);
var xmlszn = new System.Xml.Serialization.XmlSerializer(typeof(System.Collections.ObjectModel.Collection<int>));
var sw = new StringWriter();
xmlszn.Serialize(sw, ids);
identifyLayerIds = string.Format("{0}", sw.ToString().Trim());

// задать номера слоев для которых включены popups 
var xmlszn = new System.Xml.Serialization.XmlSerializer(typeof(System.Collections.ObjectModel.Collection<int>));
var sr = new StringReader(identifyLayerIds);
var ids = xmlszn.Deserialize(sr) as System.Collections.ObjectModel.Collection<int>;
ESRI.ArcGIS.Mapping.Core.LayerExtensions.SetIdentifyLayerIds(layer, ids);

Правда, в GUI эти настройки не отражаются, спишем на баг, признанный на том самом форуме.

Резюме: используйте OpenSource и забудьте про язву.

Комментариев нет:

Отправить комментарий

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Klaipeda (15) Manager (15) web-browser (15) Никонов (15) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) Baltic (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) seaside (1) serialization (1) shore (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)