На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты
АРХИВ ФОРУМА...
здесь вы можете ознакомиться с материалами форума до 08.06.2008

Найти объект по коду.

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти  
Форум » Linux » Средства разработки ГИС-приложений для Linux
Страницы: 1 2 След.
RSS
Найти объект по коду.
Здравствуйте. Расскажите пожалуйста как найти объект по его коду. Правильно ли я понимаю,что при создании объекта с excode = 1234567(например)функцией CreateObject(number, IDFLOAT2, false, 1, 1234567, local) ему присваивается какой-то уникальный номер. Т.е. excode задает внешний вид объекта, а уникальный номер непосредственно его индивидуальный номер в классификаторе? Если это так,то как получить этот самый уникальный номер объекта и по этому номеру найти его на временной карте? Заранее спасибо.
mapObjectCode(Obj) - получить код объекта
mapObjectKey(Obj) - получить уникальный номер объекта на карте
mapObjectRscKey(Obj) - получить уникальный ключ объекта
----------------
Поиск
Моя любимая функция поиска , которая работает для всех типов карт mapSeekSiteObject
mapSeekSiteObject(Map, Site, Obj, Key);
Key - результат от mapObjectKey
Site - пользовательская карта, если карта одна то сюда можно "подсунуть" Map.
Вот в этом то и прелесть функции
Mapview 11. ГИС Карта 10.7.7. GisToolKit 10 (и 11) Free.
ЧИСЛО СОБЩЕНИЙ = "Отмена крепостного права на РУСИ"
Дополню предыдущий ответ. Уникальный номер на карте присваивается объекту автоматически после выполнения функции Commit() (для MAPAPI - mapCommit())
делаю так
HOBJ hobj = mapCreateSiteObject(hmap,temphsite,IDFLOAT2, 0);
mapSeekSiteObject(hmap,temphsite,hobj,1);

программа вылетает после выхова mapSeekSiteObject,что не так? hobj создается. Ключ взяла наобум. По идее даже если нет объекта с таким номером, функция просто возвращает 0.
Изменено: Екатерина - 27.06.2011 13:29:28
Было написано:
Цитата
KFF пишет:
mapObjectKey(Obj) - получить уникальный номер объекта на карте

Было дополнено:
Цитата
gislinux пишет:
Дополню предыдущий ответ. Уникальный номер на карте присваивается объекту автоматически после выполнения функции Commit() (для MAPAPI - mapCommit())

Делайте по предложенному алгоритму и будет Вам счастье.
ну я просто вкратце написала. У меян есть одна функция которая создает объект и помещает его на временный слой и возвращает его ключ (функцией mapObjectKey),есть вторая функция которая должна найти объект,туда передается через параметр key этот самый ключ. У меян на временной карте только один объект создается,поэтому его ключ равен 1, вот я и пишу в mapSeekSiteObject key=1. Все равно счастья нет.
Цитирую дальше:
Цитата
gislinux пишет:
Дополню предыдущий ответ. Уникальный номер на карте присваивается объекту автоматически после выполнения функции Commit() (для MAPAPI - mapCommit())

Commit на объект делаете?
mapCommitObjectAsNew. Он отображается на карте. Может проблема в том,что этот объект я сама добавила в классификатор Подольска импортом bmp картинки?
Все очень непонятно. Предоставьте, пожалуйста, код программы, как создаете объект и как его ищите.
Цитата
Екатерина пишет:
делаю так
HOBJ hobj = mapCreateSiteObject(hmap,temphsite,IDFLOAT2, 0);
mapSeekSiteObject(hmap,temphsite,hobj,1);

программа вылетает после выхова mapSeekSiteObject,что не так? hobj создается. Ключ взяла наобум. По идее даже если нет объекта с таким номером, функция просто возвращает 0.

Лучше добавить новое сообщения, измнение я заметил только сейчас. Вы создали объект для поиска, но реальный объект должен быть уже создан и записан на карту, Вы это сделали?
Страницы: 1 2 След.
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)


© КБ Панорама, 1991-2012