На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

KFF (Все сообщения пользователя)

Поиск  Пользователи  Правила  Войти
Форум » Пользователи » KFF
Выбрать дату в календаре…Выбрать дату в календаре

Страницы: Пред. 1 ... 308 309 310 311 312 313 314 315 316 317 318 ... 327 След.
построение зоны
 
[QUOTE]...то лучше операцию обновления окна отображения карты сделать один раз в самом конце[/QUOTE]
Вот поэтому компонента МapScreen более удачная чем MaрView в этом отношении.
Спасибо за информацию, для дальнейшей работы может пригодится.
Добавить временную карту
 
Олег Валентинович уточните плиз по виду функции
[B]Declare Function mapCreateAndAppendTempSite Lib "gisacces.dll" (ByVal hMap As Long, ByVal rsc_name As Long) As Long[/B]
почему вторым параметром может быть целочисленное значение ?
ЗАРАНЕЕ БЛАГОДАРЮ !
построение зоны
 
[QUOTE]Объект не показывался, наверное потому, что его местоположение было вне текущих габаритов карты sit.[/QUOTE]
C.X:=6155700; C.Y:=7406000;
C.X:=6160000; C.Y:=7406000;
Проверьте на Подольске - может не те координаты  :o
------------------------------
Один из разработчиков сообщал, что сит  меняет свои габариты по
мере наполнения ним объектов или уже нет  :?:
Добавить временную карту
 
InvPoint = mapCreateSiteObject(hTmpMap,hTmpMap,2147254268,0)
это же сит ? или нет ?
2147254268 - как раз тот флоат (8-байт) который нужен
Изменено: XENA - 30.03.2009 23:50:01
Добавить временную карту
 
ВОТ ТАК РАБОТАЕТ
по крайней мере в Офисе(бейсике) и Visual Studio 2005
---------------------------
[CODE]Private Declare Function mapCreateAndAppendTempSite Lib "c:\windows\system32\gisacces.dll" (ByVal hMap As Long, ByVal rscname As String) As Long
Private Declare Function mapOpenMap Lib "c:\windows\system32\gisacces.dll" (ByVal MapName As String, ByVal mode As Long) As Long
Private Declare Function mapCloseMap Lib "c:\windows\system32\gisacces.dll" (ByVal Map As Long) As Long
Private Sub CommandButton1_Click()
Dim tmprsc As String
Dim Map As Long
   
Map = mapOpenMap("c:\panorama10\data\podolsk\podolsk.map", 201326592)
tmprsc = "c:\panorama10\data\podolsk\topo100t.rsc"
hTmpMap = mapCreateAndAppendTempSite(Map, tmprsc)

mapCloseMap (Map)

End Sub
[/CODE]
Добавить временную карту
 
hTmpMap = mapCreateAndAppendTempSite(hMap, [B]0[/B])
Declare Function mapCreateAndAppendTempSite Lib "gisacces.dll" (ByVal hMap As Long, ByVal rsc_name As [B]String[/B]) As Long
Cравните
может болжно быть так ==> hTmpMap = mapCreateAndAppendTempSite(hMap, [B]"C:\путь\Файл.rsc"[/B])
Установка GIS ToolKit
 
Здравствуйте Memfis !
Ваш вопрос состоит из 2-х подвопросов:
1. Под какие версии Делфи ставится GIS ToolKit  (это по теме форума)
 - Delphi 6
 - Delphi 7
 - Borland Developer Studio
 - Delphi 2007
2. Как установить и настроить Делфи под Висту (это не по теме)
   - [URL=http://programmersforum.ru/forumdisplay.php?s=828e06e8eb3133af31ff0b460dc56599&f=34]можно спросить у программистов[/URL]
   - [URL=http://www.drbob42.com/examines/examin84.htm]посмотерть как запустить 7-ю версию под Висту[/URL]
   - [URL=http://deldev.blogspot.com/2008/05/windows-vista-delphi-7.html]посмотреть версию Висты совместимую с Делфи 7[/URL]
   - [URL=http://translate.google.com.ua/translate?hl=ru&langpair=en%7Cru&u=http://edn.embarcadero.com/article/33743&prev=/translate_s%3Fhl%3Dru%26q%3DDelphi%2BWindows%2BVista%26tq%3DDelphi%2BWindows%2BVista%26sl%3Dru%26tl%3Den]и для всякого случая особенности создания приложений в Делфи в Висте[/URL]
Изменено: XENA - 29.03.2009 12:05:57
построение зоны
 
Александр - здравствуйте !
Вот Вам полный модуль который рисует и на сите и на карте:

[CODE]unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, mapviewa, mapwina, mapcmp, ExtCtrls, mapscrn;

type
 TForm1 = class(TForm)
   Button1: TButton;
   Panel1: TPanel;
   mvMap: TMapScreen;
   Button2: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation
uses Maptype, mapproc;

{$R *.dfm}


procedure mapCreateObjectEllipse(Obj:HObj; Center : TDoublePoint; Ra, Rb : double; angle : double);
var  A,dA : double;
    P    : TDoublePoint;
begin
 dA:=pi/180; A:=0;
 while A<=2*pi do
 begin
  P.x := Rb*cos(A)*cos(angle)-Ra*sin(A)*sin(angle)+Center.X;
  P.y := Rb*cos(A)*sin(angle)-Ra*sin(A)*cos(angle)+Center.Y;;
  mapAppendPointPlane(Obj, P.x, P.Y,0);
  A:=A+dA;
 end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var obj : HObj;
   C   : TDoublePoint;
begin
     case TButton(Sender).Tag of // на форме 2 кнопки с разными значениями свойства Tag
       0:  Obj:=mapCreateSiteObject(mvMap.MapHandle,mvMap.MapHandle, KM_IDFLOAT2,0);   // на карту
{***}   1:  Obj:=mapCreateSiteObject(mvMap.MapHandle,mvMap.MapSites[0].SiteHandle, KM_IDFLOAT2,0); // на сит
     end;
 mapregisterObject(Obj, 32110000, OL_SQUARE);

 case TButton(Sender).Tag of
  0:  C.X:=6155700;
  1:  C.X:=6160000;
 end;
 C.Y:=7406000;
 mapCreateObjectEllipse(Obj,C,1000,600, 10*pi/180);
 mapCommitObject(Obj);
 mapFreeObject(Obj);
 Mvmap.Repaint;
end;

end.[/CODE]
---------------------------
Особенность:
1. Используейте компоненту TMapScreen - она является потомком от TMapView
2. MapFileName - основная карта  map
3. MapSites - добавьте 1 карту СИТ
---------------------------
Если п.3 не будет выполнен - в строке {***}  будет Ексепшион !
Изменено: XENA - 29.03.2009 10:56:44
построение зоны
 
Александр
Вы в компоненту MapView в свойство MapFileName что заносите
Сит или Мар ?
если Сит - то его нужно заносить в MapSites потому-что
не перерисует.
построение зоны
 
[QUOTE]Но эллипс появляется если закрыть а потом открыть карту!
mvMap.Refresh; не помогает![/QUOTE]

попробуйте
mvMap.Repaint;
Страницы: Пред. 1 ... 308 309 310 311 312 313 314 315 316 317 318 ... 327 След.



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

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности