Страница 1 из 1
Получение масштаба
Добавлено: 07 ноя 2011, 08:04
QwertyICQ
Подскажите как получить масштаб карты загруженной в элемент axMapControl?
Re: Получение масштаба
Добавлено: 07 ноя 2011, 10:13
Дмитрий Барышников
Re: Получение масштаба
Добавлено: 07 ноя 2011, 10:15
QwertyICQ
Я правильно понимаю?
double scale = axMapControl.Map.MapScale;
Re: Получение масштаба
Добавлено: 07 ноя 2011, 11:09
Дмитрий Барышников
Да, или даже
double scale = axMapControl.MapScale;
если есть такое свойство.
Re: Получение масштаба
Добавлено: 07 ноя 2011, 11:44
QwertyICQ
Почему то всегда передается 0. Может я не на то событие обработчик запихнул? Я сделал в OnExtentUpdated
Re: Получение масштаба
Добавлено: 07 ноя 2011, 13:08
Дмитрий Барышников
А если установить масштаб - карта меняется? Данные (слои) загружены?
axMapControl.MapScale = 100000;
Обработчик вроде правильно стоит.
Re: Получение масштаба
Добавлено: 07 ноя 2011, 15:23
QwertyICQ
Слои загружены. Карта не меняется если вручную задавать.
Re: Получение масштаба
Добавлено: 07 ноя 2011, 20:23
Дмитрий Барышников
А так работает?
Код: Выделить всё
private ESRI.ArcGIS.MapControl.AxMapControl axMapControl1;
axMapControl1.ActiveView.ScreenDisplay.DisplayTransformation.ScaleRatio = 10000
axMapControl1.ActiveView.Refresh();
double dfScale = axMapControl1.ActiveView.ScreenDisplay.DisplayTransformation.ScaleRatio;
Творчески переработал это
http://edn.esri.com/index.cfm?fa=codeEx ... sForm1.htm
и вот это
http://edndoc.esri.com/arcobjects/9.2/C ... eRatio.htm
Re: Получение масштаба
Добавлено: 08 ноя 2011, 07:48
QwertyICQ
Спасибо за ответы. Все получилось гораздо проще. Оказывается я просто не задал axMapControl систему координат которая используется по умолчанию