Страница 17 из 26

Re: Вопросы по исходному коду

СообщениеДобавлено: 27 мар 2015, 14:16
vdemidov
Мда. Похоже код должен быть вот такой:
Код: Выделить всё
  if FValidFindData then begin
    repeat
      if IsNeedProcess(FFindFileData) then begin
        AFileName := FFolderNameFromRoot + FFindFileData.cFileName;
        Result := True;
      end;
      FValidFindData := Windows.FindNextFileW(FFindHandle, FFindFileData);
    until (not FValidFindData) or Result ;
  end;

Re: Вопросы по исходному коду

СообщениеДобавлено: 09 апр 2015, 21:29
vasketsov
VVersionForDownload := VVersionForDownload; в файле u_ProviderTilesDownload

Re: Вопросы по исходному коду

СообщениеДобавлено: 09 апр 2015, 21:56
vdemidov
vasketsov писал(а):VVersionForDownload := VVersionForDownload; в файле u_ProviderTilesDownload


Опоздал. Уже поправлено. https://bitbucket.org/sas_team/sas.planet.src/commits/39b392c326526cd3beb6519b7b0b3391d3e092e0

Re: Вопросы по исходному коду

СообщениеДобавлено: 13 апр 2015, 17:46
Alex54
Доброго времени!
Есть такой замечательный класс TVectorItemSubsetChangeableForMarksLayer, который формирует множество маркеров, которые будут отображены. При любом внешнем воздействии на карту вызывается TVectorItemSubsetChangeableForMarksLayer.GetMarksSubset (или сразу OnPrepareSubset), который и возвращает множество IVectorItemSubset.
Скажите пожалуйста, а как спровоцировать этот вызов каким-нибудь DoChangeNotify (TChangeableWithSimpleLockBase) или как-нибудь еще, чтобы заставить карту перерисовать маркеры (понятно, что это можно сделать через FMapGoto.FitRectToScreen или изменить центр или масштаб, но хочется сделать без "костылей"). Определить свой класс (как сделал для треков) не решился, т. к. у Вас там еще средства измерения расстояний, полигоны... боюсь зацепить лишнее, посоветуйте.

Re: Вопросы по исходному коду

СообщениеДобавлено: 13 апр 2015, 23:13
vdemidov
Вы не путайте. OnPrepareSubset вызывается в отдельном потоке после уведомления того о том что изменение было. Это уведомление выполняется в TVectorItemSubsetChangeableForMarksLayer.OnPosChange и TVectorItemSubsetChangeableForMarksLayer.OnMarksDbChange, а эти методы подвешены листенерами на события изменения отображаемого прямоугольника и изменение базы. Но вообще всему классу TVectorItemSubsetChangeableForMarksLayer не долго жить осталось - он будет заменен реализацией интерфейса IVectorTileMatrixChangeable.

Re: Вопросы по исходному коду

СообщениеДобавлено: 14 апр 2015, 03:52
Alex54
vdemidov писал(а):Вы не путайте. OnPrepareSubset вызывается в отдельном потоке после уведомления того о том что изменение было. Это уведомление выполняется в TVectorItemSubsetChangeableForMarksLayer.OnPosChange и TVectorItemSubsetChangeableForMarksLayer.OnMarksDbChange, а эти методы подвешены листенерами на события изменения отображаемого прямоугольника и изменение базы. Но вообще всему классу TVectorItemSubsetChangeableForMarksLayer не долго жить осталось - он будет заменен реализацией интерфейса IVectorTileMatrixChangeable.

Спасибо, вижу, там вызывается DoChangeNotify. Скажите, а как лучше сделать тогда свой класс, например, некий TCustomMarksProvider, для маркеров, чтобы также загружать и отображать и по изменению отображаемого прямоугольника и вручную (при любых изменениях), когда потребуется (используя TBitmapLayerProviderChangeableForMarksLayer). И при этом не зацепить реализации линеек, полигонов и пр. Одним словом, как в случае с треком ? По Вашему совету, когда был сделан наследник TChangeableWithSimpleLockBase, который хранил данные и передавался в TBitmapLayerProviderChangeableForGpsTrack.

Re: Вопросы по исходному коду

СообщениеДобавлено: 14 апр 2015, 12:08
vdemidov
Alex54 писал(а): Скажите, а как лучше сделать тогда свой класс

Взять и сделать.
Alex54 писал(а): И при этом не зацепить реализации линеек, полигонов и пр.

TBitmapLayerProviderChangeableForMarksLayer используется только для отображения слоя меток.

Re: Вопросы по исходному коду

СообщениеДобавлено: 25 май 2015, 21:38
iangrozniy
Товарищи, помогите со структурной схемой, очень нужно!!!

Re: Вопросы по исходному коду

СообщениеДобавлено: 25 май 2015, 21:40
zed
Что вам нужно?

Re: Вопросы по исходному коду

СообщениеДобавлено: 25 май 2015, 22:13
iangrozniy
zed писал(а):Что вам нужно?

нужно блок схема да и собственно и все)
если можете, то помогите