спасибо все получилось, но стала выводиться ошибка
aMapObj.Style := OS_NOVIEW;
и нет функции mapCreateSiteObject
aMapObj.Style := OS_NOVIEW;
и нет функции mapCreateSiteObject
Изменено:
Aleksey - 29.03.2010 20:31:49
|
Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты |
здесь вы можете ознакомиться с материалами форума до 08.06.2008 |
|
29.03.2010 20:14:23
спасибо все получилось, но стала выводиться ошибка
aMapObj.Style := OS_NOVIEW; и нет функции mapCreateSiteObject
Изменено:
Aleksey - 29.03.2010 20:31:49
|
|
|
|
|
29.03.2010 21:10:02
функции в пакете разделены по секторам использования ядра (для быстроты поиска по типу) в Вашем случае mapCreateSiteObject функция находится в sitapi.inc а Вы присоеденили только {$include mapapi.inc} - перечень общих (основных) функций ядра
Mapview 11. ГИС Карта 10.7.7. GisToolKit 10 (и 11) Free.
ЧИСЛО СОБЩЕНИЙ = "Отмена крепостного права на РУСИ" |
|||
|
|
|
29.03.2010 21:24:06
спасибо еще раз, а mapCreateObject - та же. если да то почему-то Handle не хочет определяться. |
|||||
|
|
|
29.03.2010 22:04:29
mapCreateObject - создаёт обьект на основной карте ("ОБЩИЕ ФУНКЦИИ ЯДРА" - создать объект на карте) mapCreateSiteObject - на сите (сектор ядра - "ПОЛЬЗОВАТЕЛЬСКАЯ КАРТА И ОПЕРАЦИИ НАД НЕЙ") ------------- Порядок создания объектов в разных случаях ПОдготовительный процесс: Для того чтобы содание срабатывало корректно и функции фозвращали "что-то" надо открыть 2 карты в компоненте TMapView (axcMapView) Первая карта должна быть основной (файл с расширением map формата ГИС Панорама) Вторая карта с расширением sit (пользовательская карта формата ГИС Панорама) - физически это "калька" Вторую карту можно открыть используя свойство Sites (в дизайнере) методом добавления карт, или функциями mapOpenSiteForMap Каждая карта будет иметь свой идентификатор, который физически представляет собой указатель на некую внутернюю структуру (объект) ядра с которым работает перечень экспортных функций ядра. Теперь создаём объекты случай 1 функция - mapCreateObject параметрами функции есть - указатель на карту типа map - номер листа карты - тип метрики создаваемого объекта - и наличие текста (устаревший параметр) Описание данной функции выполнено таким образом, что переменные которые практически не используются в ОБЩИХ СЛУЧАЯХ передаются ядру как константы (list:integer= 1;kind:integer= KM_IDFLOAT2;text:integer=0) Идентификатор открытой карты должен передаватся обязательно Шаги: 1 . определяем переменную под объект var Obj : HObj; // или Cardinal - длинное целое без знака 2. Создаём объект указывая хенл карты!!! ( а не её окна) Obj := mapCreateObject(MapView1.MapHandle); // типичной ошибкой новичка есть то что он передаёт в функцию MapView1.Handle Объект создан случай 2 функция - mapCreateSiteObject Она отличается от предыдущей так как в него нужно передать 2 хендла , КАРТЫ (map) и карты (SIT) для выборки хендла карты (SIT) имеется функция mapGetSitIdent(MapView1.MapHandle, НОМЕР_В_СПИСКЕ); теперь созлдаём объект var SiteIdent : integer; Obj : HObj; begin SiteIdent:=mapGetSiteIdent(MapView1.MapHandle,1); // нумерация начинается с еденицы Obj:= mapCreateSiteObject(MapView1.MapHandle,SiteIdent); Объект создан ------------------ Далее функциями mapDescribeObject или mapRegisterObject указываете какому объекту с класссификатора должен соответсвовать вновь созданная "болванка-объект" Далее добавляете метрику с семантикой и в самом конце делаете mapCommitObject(Obj); // перенос в файл карты mapFreeObject(Obj); // осбобождение "объекта-болванки" с оперативной памяти
Mapview 11. ГИС Карта 10.7.7. GisToolKit 10 (и 11) Free.
ЧИСЛО СОБЩЕНИЙ = "Отмена крепостного права на РУСИ" |
||||
|
|
||||
| © КБ Панорама, 1991-2012 |