  | 
				www.integro.ru ЦСИ ИНТЕГРО   
				 | 
			 
		 
		 
	
		| Предыдущая тема :: Следующая тема   | 
	 
	
	
		| Автор | 
		Сообщение | 
	 
	
		rjdgtn
 
 
  Зарегистрирован: 26.02.2009 Сообщения: 37
 
  | 
		
			
				 Добавлено: Вс 26 Апр 2009 18:16    Заголовок сообщения: QueryBySurfacePos | 
				     | 
			 
			
				
  | 
			 
			
				необходимо получить список всех объектов находящихся по заданным координатам.
 
 
нашел функцию 
 
HRESULT QueryBySurfacePos(VARIANT aLayerIDs, IIngeoPaintSurface* aSurface, long aDevX, long aDevY, IIngeoMapObjectsQuery** Value);
 
 
однако
 
1)не работает
 
2) непонятно почему параметры aDevX и aDevУ имеют тип long тогда как позиция любого объекта на карте задается переменной типа double.... это же огромная потеря точности.......
 
 
или я не понимаю принципа работы данной функции?
 
 
вызваю
 
App->ActiveDb->MapObjects->QueryBySurfacePos(Variant((wchar_t*)markerlayerID),App->MainWindow->MapWindow->Surface,x,y,&Query);
 
 
где x и y 100% координаты существующего объекта на карте.
 
 
Query->EOF_ возвращает true
 
 
в чем косяк? | 
			 
		  | 
	 
	
		| Вернуться к началу | 
		 | 
	 
	
		  | 
	 
	
		Михаил Власов
 
  
  Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
  | 
		
			
				 Добавлено: Пн 27 Апр 2009 09:25    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				QueryBySurfacePos выполняет поиск на основе координат и параметров проекции, относящихся к поверхности рисования (а НЕ на основе исходных координат местности).
 
 
Поверхность рисования (surface) - это НЕ поверхность исходной территории, а поверхность устройства отображения карты - окно, принтер, растровая картинка.
 
 
Соответственно, координаты задаются в точках поверхности отображения.
 
 
Если Вам нужно делать выборку на основе исходных координат, используйте метод QueryByRect или QueryByContour. _________________ С уважением, Михаил Власов. | 
			 
		  | 
	 
	
		| Вернуться к началу | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять приложения в этом форуме Вы можете скачивать файлы в этом форуме
  | 
   
 
		 |