Страница 1 из 1

Получение масштаба

Добавлено: 07 ноя 2011, 08:04
QwertyICQ
Подскажите как получить масштаб карты загруженной в элемент axMapControl?

Re: Получение масштаба

Добавлено: 07 ноя 2011, 10:13
Дмитрий Барышников
Через свойство MapScale
http://edndoc.esri.com/arcobjects/9.2/C ... pScale.htm

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 систему координат которая используется по умолчанию