// CodeGear C++Builder
// Copyright (c) 1995, 2023 by Embarcadero Technologies, Inc.
// All rights reserved

// (DO NOT EDIT: machine generated header) 'FMX.uecNativePlaceLayer.pas' rev: 36.00 (Windows)

#ifndef Fmx_UecnativeplacelayerHPP
#define Fmx_UecnativeplacelayerHPP

#pragma delphiheader begin
#pragma option push
#if defined(__BORLANDC__) && !defined(__clang__)
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member 
#endif
#pragma pack(push,8)
#include <System.hpp>
#include <SysInit.hpp>
#include <System.SysUtils.hpp>
#include <System.Types.hpp>
#include <System.UITypes.hpp>
#include <System.Rtti.hpp>
#include <System.Classes.hpp>
#include <System.SyncObjs.hpp>
#include <System.UIConsts.hpp>
#include <FMX.uecNativeMapControl.hpp>
#include <FMX.uecNativeShape.hpp>
#include <FMX.uecNativePlace.hpp>
#include <FMX.uecMapUtil.hpp>
#include <FMX.Types.hpp>
#include <FMX.Controls.hpp>
#include <FMX.Forms.hpp>
#include <FMX.Objects.hpp>
#include <FMX.Platform.hpp>

//-- user supplied -----------------------------------------------------------

namespace Fmx
{
namespace Uecnativeplacelayer
{
//-- forward type declarations -----------------------------------------------
class DELPHICLASS TECNativePlaceLayer;
//-- type declarations -------------------------------------------------------
class PASCALIMPLEMENTATION TECNativePlaceLayer : public Fmx::Uecnativemapcontrol::TECNativeLayer
{
	typedef Fmx::Uecnativemapcontrol::TECNativeLayer inherited;
	
private:
	Fmx::Uecnativeplace::TECPlaces* FPlaces;
	bool FJunction;
	System::Classes::TNotifyEvent FOnStartSearch;
	System::UnicodeString FLocalFilename;
	bool FPlaceResultInItem;
	System::UnicodeString FMarkerFilename;
	System::UnicodeString FMarkerHiResFilename;
	System::UnicodeString FSearch;
	int FMaxPlaces;
	int FMaxPlaces_div_2;
	int FXAnchor;
	int FYAnchor;
	int FHiResXAnchor;
	int FHiResYAnchor;
	bool FStop;
	System::Classes::TNotifyEvent FOnPlaces;
	Fmx::Uecnativemapcontrol::TOnShape FOnPlaceClick;
	int FDecimalPrecision;
	void __fastcall setDecimalPrecision(const int value);
	void __fastcall setLocalCache(const System::UnicodeString value);
	System::UnicodeString __fastcall getLocalCache();
	void __fastcall doPlaces(System::TObject* sender);
	int __fastcall getRadius();
	void __fastcall setRadius(int value);
	void __fastcall setMaxPlaces(int value);
	void __fastcall setSearch(const System::UnicodeString value);
	void __fastcall doOnClick(System::TObject* sender, Fmx::Uecnativeshape::TECShape* const item);
	bool __fastcall doSearch();
	
protected:
	virtual void __fastcall doOnMapChangeBounds(System::TObject* sender);
	virtual void __fastcall doOnMapEndMove(System::TObject* sender);
	virtual void __fastcall doOnMapHiResChange(System::TObject* sender);
	virtual Fmx::Uecnativeshape::TECShape* __fastcall doCreateShape(Fmx::Uecnativeplace::TECPlaceResult* SearchResult);
	bool __fastcall getSynchro();
	void __fastcall setSynchro(bool value);
	virtual void __fastcall setVisible(const bool value);
	void __fastcall doLoadFromFile();
	
public:
	__fastcall virtual TECNativePlaceLayer(Fmx::Uecnativemapcontrol::TNativeMapControl* _FMap, const System::UnicodeString Name);
	__fastcall virtual ~TECNativePlaceLayer();
	bool __fastcall Bound(double NELat, double NELng, double SWLat, double SWLng);
	bool __fastcall LoadFromFile(const System::UnicodeString filename);
	__property Fmx::Uecnativeplace::TECPlaces* Places = {read=FPlaces};
	__property int DecimalPrecision = {read=FDecimalPrecision, write=setDecimalPrecision, nodefault};
	__property System::UnicodeString Search = {read=FSearch, write=setSearch};
	__property System::UnicodeString MarkerFilename = {read=FMarkerFilename, write=FMarkerFilename};
	__property System::UnicodeString MarkerHiResFilename = {read=FMarkerHiResFilename, write=FMarkerHiResFilename};
	__property int Radius = {read=getRadius, write=setRadius, nodefault};
	__property int MaxPlaces = {read=FMaxPlaces, write=setMaxPlaces, nodefault};
	__property System::Classes::TNotifyEvent OnPlaces = {read=FOnPlaces, write=FOnPlaces};
	__property Fmx::Uecnativemapcontrol::TOnShape OnPLaceClick = {read=FOnPlaceClick, write=FOnPlaceClick};
	__property System::Classes::TNotifyEvent OnStartSearch = {read=FOnStartSearch, write=FOnStartSearch};
	__property System::UnicodeString LocalCache = {read=getLocalCache, write=setLocalCache};
	__property bool Synchro = {read=getSynchro, write=setSynchro, nodefault};
	__property int XAnchor = {read=FXAnchor, write=FXAnchor, nodefault};
	__property int YAnchor = {read=FYAnchor, write=FYAnchor, nodefault};
	__property int HiResXAnchor = {read=FHiResXAnchor, write=FHiResXAnchor, nodefault};
	__property int HiResYAnchor = {read=FHiResYAnchor, write=FHiResYAnchor, nodefault};
	__property bool Junction = {read=FJunction, write=FJunction, nodefault};
	__property bool PlaceResultInItem = {read=FPlaceResultInItem, write=FPlaceResultInItem, nodefault};
};


//-- var, const, procedure ---------------------------------------------------
}	/* namespace Uecnativeplacelayer */
}	/* namespace Fmx */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FMX_UECNATIVEPLACELAYER)
using namespace Fmx::Uecnativeplacelayer;
#endif
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FMX)
using namespace Fmx;
#endif
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Fmx_UecnativeplacelayerHPP
