рдирдИ CUBA рдХрд╛рд░реНрдб

рдирдХреНрд╢реЗ


рднреВ-рд╕реНрдерд╛рдирд┐рдХ рдбреЗрдЯрд╛ рдФрд░ рдорд╛рдирдЪрд┐рддреНрд░рдг рдорд╛рдирдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдХрдИ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдЕрднрд┐рдиреНрди рдЕрдВрдЧ рд╣реИред рдпрд╣ рд╢рд╣рд░ рдФрд░ рдХреНрд╖реЗрддреНрд░реАрдп рд╕реВрдЪрдирд╛ рдкреНрд░рдгрд╛рд▓реА, рддреЗрд▓ рдФрд░ рдЧреИрд╕ рдЙрджреНрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди, рдкрд░рд┐рд╡рд╣рди рдЕрд╡рд╕рдВрд░рдЪрдирд╛ рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА, рд╕рд╛рде рд╣реА рд╡рд┐рддрд░рдг рд╕реЗрд╡рд╛рдПрдВ рдФрд░ рдХрдИ рдЕрдиреНрдп рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╕реАрдпреВрдмреАрдП рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ, рд╕реАрдпреВрдмреАрдП рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдмреБрдирд┐рдпрд╛рджреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдРрдб-рдСрди рдФрд░ рдШрдЯрдХреЛрдВ рдХрд╛ рдПрдХ рд╡реНрдпрд╛рдкрдХ рд╕реЗрдЯ рд╣реИред рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдЪрд╛рд░реНрдЯ рдФрд░ рдореИрдкреНрд╕ рд╣реИрдВ , рдЬреЛ рдЪрд╛рд░реНрдЯ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ Google рдореИрдкреНрд╕ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рджреГрд╢реНрдп рднрд╛рдЧ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓, Google рдиреЗ рдЕрдкрдиреА рдорд╛рдирдЪрд┐рддреНрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рд╢рд░реНрддреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рд▓рд╛рдЧрдд рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реБрдИ, рдФрд░ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреА рдЕрдирд┐рд╡рд╛рд░реНрдп рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рд╢рд░реНрдд рднреА рдкреЗрд╢ рдХреАред рдЗрди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдиреЗ рд╣рдорд╛рд░реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХрд╛рд░реНрдб рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛, рдФрд░ рд╣рдореЗрдВ рдПрдХ рдирдпрд╛ рдХрд╛рд░реНрдб рдШрдЯрдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред


рдЕрдм рд╣рдо рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдП рдШрдЯрдХ - CUBA рдореИрдкреНрд╕ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдХреГрдкрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред CUBA рдореИрдкреНрд╕ рднреВ-рд╕реНрдерд╛рдирд┐рдХ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджреГрд╢реНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдФрд░ рд╕рд╣рдЬ рдЬреНрдЮрд╛рди рдпреБрдХреНрдд рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдкреВрд░рдХ рд╣реИред рдШрдЯрдХ рд░реЗрдЦрд╛рдкреБрдВрдЬ рдФрд░ рд╡реЗрдХреНрдЯрд░ рдбреЗрдЯрд╛ рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдк рд╡реЗрдм рдорд╛рдирдЪрд┐рддреНрд░ рд╕реЗрд╡рд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдХрд┐рд╕реА рднреА рдорд╛рдирдЪрд┐рддреНрд░ рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рд░реЗрдЦреАрдп рдбреЗрдЯрд╛ рдХреЗ рд░реВрдк рдореЗрдВ XYZ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЯрд╛рдЗрд▓ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗрдХреНрдЯрд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдШрдЯрдХ рдЬреЗрдЯреАрдПрд╕ рдЯреЛрдкреЛрд▓реЙрдЬреА рд╕реВрдЯ (рдЬреЗрдЯреАрдПрд╕) рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдЬреНрдпрд╛рдорд┐рддреАрдп рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ (рдмрд┐рдВрджреБ, рдкреЙрд▓реАрд▓рд╛рдЗрди, рдмрд╣реБрднреБрдЬ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ - рднреВ-рд╕реНрдерд╛рдирд┐рдХ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдЬрд╛рд╡рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпред рдШрдЯрдХ CUBA рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рд╡реНрдпрд╛рдкрдХ рднреМрдЧреЛрд▓рд┐рдХ рд╕реВрдЪрдирд╛ рдкреНрд░рдгрд╛рд▓реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдореИрдкреНрд╕ рдШрдЯрдХ рджреНрд╡рд╛рд░рд╛ рдкреЗрд╢ рдХрд┐рдП рдЧрдП рдирдП рдлреАрдЪрд░реНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЗрд╕рдХреА рддреБрд▓рдирд╛ рд╣рдорд╛рд░реЗ рдкрд┐рдЫрд▓реЗ рдореИрдк рдХрдВрдкреЛрдиреЗрдВрдЯ рд╕реЗ рднреА рдХрд░реЗрдВрдЧреЗред


рдкрд░рдд рдЖрдзрд╛рд░рд┐рдд рд╕рдВрд░рдЪрдирд╛


рдШрдЯрдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдмрд╣реБрдкрд░рдд рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкреЗрд╢реЗрд╡рд░ рднреМрдЧреЛрд▓рд┐рдХ рд╕реВрдЪрдирд╛ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░рддреЗрдВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд░реЗрдЦрд╛рдкреБрдВрдЬ рдФрд░ рд╡реЗрдХреНрдЯрд░ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрддреА рд╣реИрдВред рд░реЗрдЦрд╛рдкреБрдВрдЬ рдХреА рдкрд░рддреЗрдВ рд░реЗрдЦрд╛рдкреБрдВрдЬ рдЫрд╡рд┐рдпреЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рдмрдирддреА рд╣реИрдВ, рдЬрдмрдХрд┐ рд╡реЗрдХреНрдЯрд░ рдкрд░рддреЛрдВ рдореЗрдВ рд╡реЗрдХреНрдЯрд░ рдЬреНрдпрд╛рдорд┐рддрд┐ рд╣реЛрддреЗ рд╣реИрдВред


рдШрдЯрдХ рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░рддреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:


  • рдЯрд╛рдЗрд▓ рдХреА рдкрд░рдд XYZ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЯрд╛рдЗрд▓ рд╕реЗрд╡рд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдЯрд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИред
  • рд╡реЗрдм рдореИрдк рд╕реЗрд╡рд╛ (WMS) рдкрд░рдд WMS рд╕реЗрд╡рд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИред
  • рд╡реЗрдХреНрдЯрд░ рд▓реЗрдпрд░ рдореЗрдВ рдЬрд┐рдпреЛ-рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ (рдЬреНрдпрд╛рдорд┐рддреАрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╡рд╛рд▓реА рдЗрдХрд╛рдЗрдпрд╛рдБ) рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рдпреЗ рдкрд░рддреЗрдВ рдирдХреНрд╢реЛрдВ рдХреЗ рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рддрддреНрд╡ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдЪрд▓реА рдкрд░рдд рдЯрд╛рдЗрд▓реЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рдПрдХ рдЖрдзрд╛рд░ рдирдХреНрд╢рд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рджреВрд╕рд░реА рдкрд░рдд рдореЗрдВ рдкреНрд░рд╛рджреЗрд╢рд┐рдХ рдЗрдХрд╛рдЗрдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмрд╣реБрднреБрдЬ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрд╖реЗрддреНрд░ рдФрд░ рдКрдкрд░реА рдкрд░рдд рдореЗрдВ рднреМрдЧреЛрд▓рд┐рдХ рдмрд┐рдВрджреБ (рдЧреНрд░рд╛рд╣рдХреЛрдВ, рджреБрдХрд╛рдиреЛрдВ рдЖрджрд┐ рдХрд╛ рд╕реНрдерд╛рди) рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрди рдкрд░рддреЛрдВ рдХреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдКрдкрд░ рд░рдЦрдиреЗ рд╕реЗ рд╣рдореЗрдВ рдЕрдВрддрд┐рдо рдирдХреНрд╢рд╛ рдорд┐рд▓рддрд╛ рд╣реИ:


рдкрд░рддреЛрдВ


рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЖрдк рдХрд┐рд╕реА рднреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрд░рдЪрд┐рдд рдирдХреНрд╢реЗ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред


CUBA рдореИрдкреНрд╕ рдПрдХ рдирдпрд╛ рд╡рд┐рдЬрд╝реБрдЕрд▓ рдХрдВрдкреЛрдиреЗрдВрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ - GeoMap ред рдШрдЯрдХ рдХреЗ рдПрдХреНрд╕рдПрдордПрд▓ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдореЗрдВ, рдЖрдк рдирдХреНрд╢реЗ рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдкреНрд░рджрд░реНрд╢рд┐рдд рдкрд░рддреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕реЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:


 <maps:geoMap id="map" height="600px" width="100%" center="37.615, 55.752" zoom="10"> <maps:layers selectedLayer="addressLayer"> <maps:tile id="tiles" tileProvider="maps_OpenStreetMap"/> <maps:vector id="territoryLayer" dataContainer="territoryDc"/> <maps:vector id="addressLayer" dataContainer="addressDc" editable="true"/> </maps:layers> </maps:geoMap> 

рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓реЗрдкрди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЪрд╛рд░реНрдЯ рдФрд░ рдорд╛рдирдЪрд┐рддреНрд░ рдореЗрдВ рдХрдореА рдереА:


  • рд▓реЗрдпрд░рд┐рдВрдЧред рдпрд╣ рд╕рдВрд░рдЪрдирд╛ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдб рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рднрд┐рдиреНрди рд╕реЗрд╡рд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдЯрд╛рдЗрд▓реЛрдВ рдХреЛ рдорд┐рд▓рд╛рдПрдВред
  • рдкрд░рддреЗрдВ рдПрдХ рдЕрдореВрд░реНрддрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВ рдЬреЛ рд╕рдЬрд╛рддреАрдп рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд▓рд╛рддреА рд╣реИрдВред рдЪрд╛рд░реНрдЯ рдФрд░ рдореИрдкреНрд╕ рдШрдЯрдХ рдореЗрдВ, рд╕рднреА рдорд╛рдирдЪрд┐рддреНрд░ рд╕рд╛рдордЧреНрд░реА (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдВрдХ, рдмрд╣реБрднреБрдЬ, рдЖрджрд┐) рдХреЛ рдпреВрдЖрдИ рдШрдЯрдХ рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдвреЗрд░ рдореЗрдВ рдбрдВрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рд╕рдВрд░рдЪрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЯреАрдореЛрдВ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реНрдХ рд▓рд┐рдЦрдирд╛ рдерд╛ред
  • рдкрд░рддреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдШреЛрд╖рдгрд╛рддреНрдордХ рд╡рд┐рдзрд┐ред рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдк XML рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдореЗрдВ рдорд╛рдирдЪрд┐рддреНрд░ рд╕рдВрд░рдЪрдирд╛ (рдкрд░рддреЛрдВ рдХрд╛ рд╕реЗрдЯ) рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рд╕реНрдХреНрд░реАрди рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдХрд┐рд╕реА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЪрд╛рд░реНрдЯреНрд╕ рдФрд░ рдореИрдкреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реНрдХ рд▓рд┐рдЦреЗ рдмрд┐рдирд╛ рдХрд░рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рдерд╛ред

рдЯрд╛рдЗрд▓ рдкрд░рддреЛрдВ рдпрд╛ WMS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЖрдк рдХрд┐рд╕реА рднреА рдкрд╕рдВрджреАрджрд╛ рдорд╛рдирдЪрд┐рддреНрд░ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рджрд╛рддрд╛ рд╕реЗ рдмрдВрдзреЗ рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЪрд╛рд░реНрдЯ рдФрд░ рдореИрдкреНрд╕ рдореЗрдВ рдерд╛ ред


рд╡реЗрдХреНрдЯрд░ рдкрд░рддреЗрдВ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рднреВ-рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди, рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╕рдВрдкрд╛рджрди рдФрд░ рдбреНрд░рд╛рдЗрдВрдЧ рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рдмрдирд╛рддреА рд╣реИрдВред


рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ GeoMap рдХреЗ рджреГрд╢реНрдп рдШрдЯрдХ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рд╣рд╛рдпрдХ рдкрд░рдд рд╣реИ - рдХреИрдирд╡рд╕ ред рдХреИрдирд╡рд╕ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдЬреНрдпрд╛рдорд┐рддреАрдп (рдЕрдВрдХ, рдкреЙрд▓реАрд▓рд╛рдЗрди, рдмрд╣реБрднреБрдЬ) рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдФрд░ рдбреНрд░рд╛рдЗрдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╣рдо рд▓реЗрдЦ рдореЗрдВ рдмрд╛рдж рдореЗрдВ рдХреИрдирд╡рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░реЗрдВрдЧреЗред


рднреВ рд╡рд╕реНрддреБрдУрдВ


рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЗрдХрд╛рдИ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЬреНрдпрд╛рдорд┐рддрд┐ (рдмрд┐рдВрджреБ, рдкреЙрд▓реАрд▓рд╛рдЗрди, рдмрд╣реБрднреБрдЬ) рд╕реЗ рдЬреБрдбрд╝реА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред рд╣рдо рдЗрд╕ рдЗрдХрд╛рдИ рдХреЛ рднреВ-рд╡рд╕реНрддреБ рдХрд╣реЗрдВрдЧреЗред рддреЛ, рдШрдЯрдХ рднреВ-рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИред


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд┐рдпреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдбреНрд░реЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:


 @Entity public class Address extends StandardEntity { ... @Column(name = "LOCATION") @Geometry @MetaProperty(datatype = "GeoPoint") @Convert(converter = CubaPointWKTConverter.class) protected Point location; ... } 

рдЗрд╕рдореЗрдВ JTS рдЯреЛрдкреЛрд▓реЙрдЬреА рд╕реВрдЯ (JTS) рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдЯрд╛рдЗрдк org.locationtech.jts.geom.Point рдХрд╛ рдПрдХ location рдЧреБрдг рд╣реИред рдШрдЯрдХ JTS тАЛтАЛрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреНрдпрд╛рдорд┐рддреАрдп рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:


  • org.locationtech.jts.geom.Point - рдЕрд╡рдзрд┐ред
  • org.locationtech.jts.geom.LineString - org.locationtech.jts.geom.LineString ред
  • org.locationtech.jts.geom.Polygon - рдмрд╣реБрднреБрдЬред

location рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ @Geometry рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рдЯреИрдЧ рдХрд┐рдпрд╛ @Geometry ред рдпрд╣ рдПрдиреЛрдЯреЗрд╢рди рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рднреВ-рд╡рд╕реНрддреБ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдирд┐рдореНрди рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рднреА рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:


  • @MetaProperty - рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбреЗрдЯрд╛рдЯрд╛рдЗрдк рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред Datatype рдЗрдВрдЯрд░рдлрд╝реЗрд╕ Datatype рдЙрдкрдпреЛрдЧ рд╕реАрдпреВрдмреАрдП рдврд╛рдВрдЪреЗ рджреНрд╡рд╛рд░рд╛ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдФрд░ рдЙрд╕рд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • @Convert - рдПрдХ рдЬреЗрдкреАрдП рдХрдирд╡рд░реНрдЯрд░ рдХреЛ рдПрдХ рд╕реНрдерд┐рд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред JPA рдХрдирд╡рд░реНрдЯрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдЬрд╛рд╡рд╛ рдХреЛрдб рдореЗрдВ рдЗрд╕рдХреЗ рдЕрднреНрдпрд╛рд╡реЗрджрди рдХреЗ рдмреАрдЪ рд╡рд┐рд╢реЗрд╖рддрд╛ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред рдШрдЯрдХ рд╕реНрдерд╛рдирд┐рдХ рдбреЗрдЯрд╛рдЯрд╛рдЗрдк-рдПрд╕ рдФрд░ рдЬреЗрдкреАрдП-рдХрдиреНрд╡рд░реНрдЯрд░реНрд╕ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдШрдЯрдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдЙрдкрд▓рдмреНрдз рд╣реИред рдЖрдк рдЬреЗрдкреАрдП рдХрдирд╡рд░реНрдЯрд░ рдХреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╕реНрдерд╛рдирд┐рдХ рдбреЗрдЯрд╛ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд░реЛрддреЛрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреЛрд╕реНрдЯрдЬреАрдЖрдИрдПрд╕ ) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдЗрдХрд╛рдИ рдХреЛ рднреВ-рд╡рд╕реНрддреБ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЬреЗрдЯреАрдПрд╕ рдЬреНрдпрд╛рдорд┐рддрд┐ рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ @Geometry рд╕рд╛рде рдПрдиреЛрдЯреЗрдЯ рдХрд░рдиреЗ рдХреА @Geometry ред рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИ - рдЧреЗрдЯреНрдЯрд░ / рд╕реЗрдЯрд░ рд╡рд┐рдзрд┐ рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рдПрдХ рдЧреИрд░-рд╕реНрдерд╛рдпреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдмрдирд╛рдПрдВред рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдбреАрдбреАрдПрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдХреНрд╖рд╛рдВрд╢ рдФрд░ рджреЗрд╢рд╛рдВрддрд░ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЗрдХрд╛рдИ рдкрддреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:


 import com.haulmont.addon.maps.gis.utils.GeometryUtils; ... @Entity public class Address extends StandardEntity { ... @Column(name = "LATITUDE") protected Double latitude; @Column(name = "LONGITUDE") protected Double longitude; ... @Geometry @MetaProperty(datatype = "GeoPoint", related = {"latitude", "longitude"}) public Point getLocation() { if (getLatitude() == null || getLongitude() == null) { return null; } return GeometryUtils.createPoint(getLongitude(), getLatitude()); } @Geometry @MetaProperty(datatype = "GeoPoint") public void setLocation(Point point) { Point prevValue = getLocation(); if (point == null) { setLatitude(null); setLongitude(null); } else { setLatitude(point.getY()); setLongitude(point.getX()); } propertyChanged("location", prevValue, point); } ... } 

рдпрджрд┐ рдЖрдк рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ propertyChanged рд╡рд┐рдзрд┐ рдХреЛ рд╕реЗрдЯрд░ рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдШрдЯрдХ рдирдХреНрд╢реЗ рдкрд░ рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдХреЗ рдЗрд╕ рдШрдЯрдирд╛ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИред


рдЕрдм рдЬрдм рд╣рдордиреЗ рдЕрдкрдиреА рднреВ-рд╡рд╕реНрддреБ рдХрд╛ рд╡рд░реНрдЧ рддреИрдпрд╛рд░ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рд╡реЗрдХреНрдЯрд░ рд▓реЗрдпрд░ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рд╡реЗрдХреНрдЯрд░ рдкрд░рдд рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ (рдЬрд┐рдпреЛ-рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕) рдФрд░ рдПрдХ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рдмреАрдЪ рдПрдХ рдХрдиреЗрдХреНрдЯрд┐рдВрдЧ рддрддреНрд╡ рд╣реИред рднреВ-рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдПрдХ рдкрд░рдд рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рдХрдВрдЯреЗрдирд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╛, рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╕реНрдХреНрд░реАрди (рд╕реАрдпреВрдмреАрдП рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 7 рддрдХ) рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡реЗрдХреНрдЯрд░ рдкрд░рдд рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕реНрд░реЛрддред рдпрд╣ рдПрдХ XML рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:


 <maps:geoMap id="map"> <maps:layers> ... <maps:vector id="addressesLayer" dataContainer="addressesDc"/> </maps:layers> </maps:geoMap> 

рдирддреАрдЬрддрди, рдПрдбреНрд░реЗрд╕рдбреЗрдХ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдирд┐рд╣рд┐рдд Address рд╡рд░реНрдЧ рдЙрджрд╛рд╣рд░рдг рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред


рдЖрдЗрдП рдПрдХ рдкреНрд░рд╛рдердорд┐рдХ рдХрд╛рд░реНрдп рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ: рдПрдХ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рд╕рд╛рде рднреВ-рд╡рд╕реНрддреБ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░реАрди рдмрдирд╛рдирд╛, рдЬрд╣рд╛рдВ рдЖрдк рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рдВрдкрд╛рджрди рд╕реНрдХреНрд░реАрди рдХреЗ XML рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдореЗрдВ GeoMap рдХреЗ рджреГрд╢реНрдп рдШрдЯрдХ рдХреЛ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рднреВ-рд╡рд╕реНрддреБ рд╡рд╛рд▓реЗ рдХрдВрдЯреЗрдирд░ рд╕реЗ рдЬреБрдбрд╝реА рдПрдХ рд╡реЗрдХреНрдЯрд░ рдкрд░рдд рдЬреЛрдбрд╝реЗрдВ:


 <maps:geoMap id="map" height="600px" width="100%" center="37.615, 55.752" zoom="10"> <maps:layers selectedLayer="addressLayer"> <maps:tile ..."/> <maps:vector id="addressLayer" dataContainer="addressDc" editable="true"/> </maps:layers> </maps:geoMap> 

рдпрджрд┐ рдЖрдк рд╡реЗрдХреНрдЯрд░ рдкрд░рдд рдХреЛ рд╕рдВрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рднреВ-рд╡рд╕реНрддреБ рдХрд╛ рд╕рдВрд╡рд╛рджрд╛рддреНрдордХ рд╕рдВрдкрд╛рджрди рд╕рдХреНрд░рд┐рдп рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдЬреНрдпрд╛рдорд┐рддрд┐ рдЦрд╛рд▓реА рд╣реИ, рддреЛ рдорд╛рдирдЪрд┐рддреНрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбреНрд░рд╛рдЗрдВрдЧ рдореЛрдб рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдирдХреНрд╢реЗ рдкрд░ рдПрдХ рд╡реЗрдХреНрдЯрд░ рдкрд░рдд рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдбреЗрдЯрд╛ рдХрдВрдЯреЗрдирд░ / рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред


рд╡рд╣ рд╕рдм рд╣реИред рдпрджрд┐ рд╣рдо рдЗрд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд╛рд░реНрдЯреНрд╕ рдФрд░ рдореИрдкреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░реАрди рдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ рдХрд╛рдлреА рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдореИрдкреНрд╕ рдХреЗ рдирдП рдШрдЯрдХ рдХреЗ рд╕рд╛рде , рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред


рдХреИрдирд╡рд╛рд╕


рдРрд╕реЗ рд╕рдордп рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдЖрдкрдХреЛ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдПрдХ рд╕рд╛рдзрд╛рд░рдг API рдХреЛ рдореИрдк рдкрд░ рдЬрд┐рдпреЛрдореЗрдЯреНрд░реАрдЬ рдЬреЛрдбрд╝рдирд╛ рдФрд░ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЪрд╛рд░реНрдЯреНрд╕ рдФрд░ рдореИрдкреНрд╕ рдореЗрдВ рдерд╛ ред рдЗрд╕рдХреЗ рд▓рд┐рдП, GeoMap рджреГрд╢реНрдп рдШрдЯрдХ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкрд░рдд рд╣реИ - рдХреИрдирд╡рд╛рд╕ ред рдпрд╣ рдПрдХ рд╕рд╣рд╛рдпрдХ рдкрд░рдд рд╣реИ, рдЬреЛ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рд╣реИ рдФрд░ рдЬреЛ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдЬреНрдпрд╛рдорд┐рддреАрдп рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдбреНрд░рд╛рдЗрдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЖрдк map.getCanvas() рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ map.getCanvas() рдорд╛рдирдЪрд┐рддреНрд░ map.getCanvas() рдХрд░ рд╕рдХрддреЗ map.getCanvas() ред


рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдХреБрдЫ рд╕рд░рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ, рдХреИрд╕реЗ рд╡реЗ рдЪрд╛рд░реНрдЯ рдФрд░ рдореИрдкреНрд╕ рдореЗрдВ рд╣рд▓ рдХрд┐рдП рдЧрдП рдереЗ рдФрд░ рдХреИрдирд╡рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред


рдПрдХ рдирдХреНрд╢реЗ рдкрд░ рдЬреНрдпрд╛рдорд┐рддреАрдп рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ


рдЪрд╛рд░реНрдЯреНрд╕ рдФрд░ рдореИрдкреНрд╕ рдореЗрдВ, рдЬреНрдпрд╛рдорд┐рддрд┐ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдореИрдк рдХреЗ рджреГрд╢реНрдп рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╛рд░рдЦрд╛рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдлрд┐рд░ рдирдХреНрд╢реЗ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛:


 Marker marker = map.createMarker(); GeoPoint position = map.createGeoPoint(lat, lon); marker.setPosition(position); map.addMarker(marker); 

рдирдпрд╛ рдореИрдк рдШрдЯрдХ рдЬреЗрдЯреАрдПрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕реАрдзреЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:


 CanvasLayer canvasLayer = map.getCanvas(); Point point = address.getLocation(); canvasLayer.addPoint(point); 

рдЬреНрдпрд╛рдорд┐рддрд┐ рдХрд╛ рд╕рдВрдкрд╛рджрди


рдЪрд╛рд░реНрдЯреНрд╕ рдФрд░ рдореИрдкреНрд╕ рдореЗрдВ, рдЖрдк рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЛ рд╕рдВрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм рдпреВрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреА рдЬреНрдпрд╛рдорд┐рддрд┐ рдмрджрд▓реА рдЬрд╛рддреА рдереА, рддреЛ рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдирд╛рдУрдВ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рдерд╛:


 Marker marker = map.createMarker(); GeoPoint position = map.createGeoPoint(lat, lon); marker.setPosition(position); marker.setDraggable(true); map.addMarker(marker); map.addMarkerDragListener(event -> { // do something }); 

рдореИрдкреНрд╕ рдШрдЯрдХ рдореЗрдВ, рдХреИрдирд╡рд╕ рдореЗрдВ рдЬреЗрдЯреАрдПрд╕ рдЬреНрдпрд╛рдорд┐рддрд┐ рдЬреЛрдбрд╝рддреЗ рд╕рдордп, рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рдзрд┐ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдСрдмреНрдЬреЗрдХреНрдЯ рд▓реМрдЯрд╛рддреА рд╣реИ рдЬреЛ рдирдХреНрд╢реЗ рдкрд░ рдЗрд╕ рдЬреНрдпрд╛рдорд┐рддрд┐ рдХрд╛ рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╣реИ: CanvasLayer.Point , CanvasLayer.Polygon ред CanvasLayer.Polyline рдпрд╛ CanvasLayer.Polygon ред CanvasLayer.Polygon ред рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЬреНрдпрд╛рдорд┐рддрд┐ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдзрд╛рд░рд╛рдкреНрд░рд╡рд╛рд╣ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬреНрдпрд╛рдорд┐рддрд┐ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдирд╛рдУрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛ рдХреИрдирд╡рд╕ рд╕реЗ рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


 CanvasLayer canvasLayer = map.getCanvas(); CanvasLayer.Point location = canvasLayer.addPoint(address.getLocation()); location.setEditable(true) .setPopupContent(address.getName()) .addModifiedListener(modifiedEvent -> address.setLocation(modifiedEvent.getGeometry())); 

рд░реЗрдЦрд╛рдЧрдгрд┐рдд рдбреНрд░рд╛рдЗрдВрдЧ


рдкреБрд░рд╛рдиреЗ рдРрдб-рдСрди рдЪрд╛рд░реНрдЯреНрд╕ рдФрд░ рдореИрдкреНрд╕ рдореЗрдВ рдПрдХ рд╕рд╣рд╛рдпрдХ рдШрдЯрдХ рдерд╛ - DrawingOptions ред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЬреНрдпрд╛рдорд┐рддрд┐ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕реА рдШрдЯрдирд╛ рдХреЛ рдЙрдард╛рдпрд╛ рдЧрдпрд╛ рдерд╛:


 DrawingOptions options = new DrawingOptions(); PolygonOptions polygonOptions = new PolygonOptions(true, true, "#993366", 0.6); ControlOptions controlOptions = new ControlOptions( Position.TOP_CENTER, Arrays.asList(OverlayType.POLYGON)); options.setEnableDrawingControl(true); options.setPolygonOptions(polygonOptions); options.setDrawingControlOptions(controlOptions); options.setInitialDrawingMode(OverlayType.POLYGON); map.setDrawingOptions(options); map.addPolygonCompleteListener(event -> { //do something }); 

рдореИрдкреНрд╕ рдШрдЯрдХ рд╕рдорд╛рди рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдирдП рдореИрдкреНрд╕ рдХреИрдирд╡рд╕ рдореЗрдВ рдЬреНрдпрд╛рдорд┐рддреАрдп рдбреНрд░рд╛рдЗрдВрдЧ рдХреЗ рд▓рд┐рдП рддрд░реАрдХреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд╣реБрднреБрдЬ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, canvas.drawPolygon() рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред canvas.drawPolygon() рд╡рд┐рдзрд┐ред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдирдХреНрд╢рд╛ рдмрд╣реБрднреБрдЬ рдбреНрд░рд╛рдЗрдВрдЧ рдореЛрдб рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ред рд╡рд┐рдзрд┐ Consumer<CanvasLayer.Polygon> рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдЦреАрдВрдЪреЗ рдЧрдП рдмрд╣реБрднреБрдЬ рдХреЗ рд╕рд╛рде рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


 canvasLayer.drawPolygon(polygon -> { territory.setPolygon(polygon.getGeometry()); }); 

рднреВ-рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдг


рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ


рдирдП рдореИрдкреНрд╕ рдШрдЯрдХ рдореЗрдВ рдореМрдЬреВрдж рдПрдХ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧреА рдЙрдкрдХрд░рдг рдмрд┐рдВрджреБ рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рд╣реИред рдпрджрд┐ рдкрд░рдд рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдмрд┐рдВрджреБ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдкрд╛рд╕ рдХреЗ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╕рдореВрд╣ рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдорд╛рдирдЪрд┐рддреНрд░ рд╢реВрдиреНрдп рджрд┐рдЦрд╛рдИ рджреЗ рдФрд░ рдмреЗрд╣рддрд░ рдорд╛рдирд╛ рдЬрд╛рдП:


рд╕рдореВрд╣


XML рд╡рд┐рд╡рд░рдгрдХ рдореЗрдВ vector рдЯреИрдЧ рдХреЗ рдЕрдВрджрд░ cluster рдЯреИрдЧ рдЬреЛрдбрд╝рдХрд░ рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдХреЛ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:


 <maps:vector id="locations" dataContainer="locationsDc" > <maps:cluster/> </maps:vector> 

рдЖрдк рдмрд┐рдВрджреБ рднрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдХреЛ рднреА рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмрд┐рдВрджреБ рдХрд╛ рд╡рдЬрди weightProperty рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдореВрд▓реНрдп рд╣реИред


 <maps:vector id="orders" dataContainer="ordersDc" > <maps:cluster weightProperty="amount"/> </maps:vector> 

рдЧрд░реНрдореА рдирдХреНрд╢реЗ


рд╣реАрдЯрдореИрдк рдХрдИ рднреМрдЧреЛрд▓рд┐рдХ рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдШрдирддреНрд╡ рдХрд╛ рдПрдХ рджреГрд╢реНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╣реИред GeoMap рдХреЗ рджреГрд╢реНрдп рдШрдЯрдХ рдореЗрдВ рд╣реАрдЯ рдореИрдк рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ: addHeatMap(Map<Point, Double> intensityMap) рдореИрдк addHeatMap(Map<Point, Double> intensityMap) ред


рд╣реАрдЯрдореИрдк


рдирд┐рд╖реНрдХрд░реНрд╖


рднреВ-рд╕реНрдерд╛рдирд┐рдХ рдбреЗрдЯрд╛ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХрдИ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рддрддреНрд╡ рд╣реИред рд╕реАрдпреВрдмреАрдП рдореИрдкреНрд╕ рдШрдЯрдХ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рд╕реАрдпреВрдмреАрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред


рдПрдХ рдкрд░рдд-рдЖрдзрд╛рд░рд┐рдд рд╕рдВрд░рдЪрдирд╛ рдХрд┐рд╕реА рднреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдирдХреНрд╢реЗ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИред рдЯрд╛рдЗрд▓ / рдбрдмреНрд▓реНрдпреВрдПрдордПрд╕ рдкрд░рддреЛрдВ рдХреЗ рд╕рд╛рде, рдЖрдк рдХрд┐рд╕реА рднреА рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдЖрдзрд╛рд░ рдХрд╛рд░реНрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗрдХреНрдЯрд░ рдкрд░рддреЗрдВ рдЖрдкрдХреЛ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рд╕рдЬрд╛рддреАрдп рднреВ-рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред рдХреИрдирд╡рд╕ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдЬреНрдпрд╛рдорд┐рддреАрдп рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдбреНрд░рд╛рдЗрдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред


рдпрд╣ рдШрдЯрдХ рдЬреЗрдЯреАрдПрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рднреМрдЧреЛрд▓рд┐рдХ рдбреЗрдЯрд╛ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдЕрдиреНрдп рд░реВрдкрд░реЗрдЦрд╛рдУрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд┐рдпреЛрдЯреВрд▓ ) рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдмрдирд╛рддрд╛ рд╣реИред


рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЖрдк рдШрдЯрдХ рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВрдЧреЗред рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рд╣реИ!

Source: https://habr.com/ru/post/hi464517/


All Articles