рдпрд╛ OpenStreetMaps рдкреНрд░рдХреНрд╖реЗрдкрдг рдХреЗ рд▓рд┐рдП Yandex рдорд╛рдирдЪрд┐рддреНрд░ рдЯрд╛рдЗрд▓ рдХреИрд╕реЗ рдлрд┐рдЯ рдХрд░реЗрдВ?
рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐
рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рдСрдирд▓рд╛рдЗрди рдирдХреНрд╢рд╛ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЙрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдорд╛рдирдЪрд┐рддреНрд░ рдХреА рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдЫреЛрдЯреЗ рдЯреБрдХрдбрд╝реЛрдВ (рдЯрд╛рдЗрд▓реНрд╕) рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддрд╛рдХрд┐ рдХреЗрд╡рд▓ рд╡рд╛рдВрдЫрд┐рдд рдХреНрд╖реЗрддреНрд░ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдЗрди рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рдХрдЯреМрддреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдзрд┐рдХрд╛рдВрд╢ рдСрдирд▓рд╛рдЗрди рдХрд╛рд░реНрдб "рд╕реЛрдЪрддреЗ рд╣реИрдВ" рдХрд┐ рдкреГрдереНрд╡реА рдПрдХ рдЧреЗрдВрдж рдХреЗ рдЖрдХрд╛рд░ рдореЗрдВ рд╣реИред рдЙрдирдореЗрдВ рд╕реЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Google рдорд╛рдирдЪрд┐рддреНрд░ рдФрд░ OpenStreetMapsред рдХреБрдЫ, рдЕрдзрд┐рдХ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ, рдЗрд╕ рддрдереНрдп рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЧреНрд░рд╣ рд╕рд╣реА рдЧреЗрдВрдж рдирд╣реАрдВ рд╣реИ: рдХрдо рд╕реЗ рдХрдо, рдпрд╣ рдзреНрд░реБрд╡реЛрдВ рдкрд░ рдЪрдкрдЯрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рджреАрд░реНрдШрд╡реГрддреНрдд рдкреНрд░рдХреНрд╖реЗрдкрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпреИрдВрдбреЗрдХреНрд╕ рдХреЗ рдирдХреНрд╢реЗ рдореЗрдВред

рдирддреАрдЬрддрди, рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдорд╛рдиреЛрдВ рдореЗрдВ рд╕рдорд╛рди рд╕рдВрдЦреНрдпрд╛ рд╡рд╛рд▓рд╛ рдПрдХ рд╕реЗрд▓ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдПрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ рдПрдХреНрд╕ рдЕрдХреНрд╖ рдкрд░ 10427 рдирдВрдмрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЯрд╛рдЗрд▓ рд╣реИ, рд╡рд╛рдИ рдЕрдХреНрд╖ рдкрд░ 5119 рд╣реИред рд╕реНрдХреЗрд▓ рд╕реНрддрд░ 14. рдмрд╛рдИрдВ рддрд░рдл - рдУрдПрд╕рдПрдо, рджрд╛рдПрдВ рдпрд╛рдВрдбреЗрдХреНрд╕ рдкрд░ред рдПрдХ рд╢рд╣рд░ рдХреЗ рдмрдЬрд╛рдп - рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рдЬрдВрдЧрд▓ред

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

рддрдХрдиреАрдХ
рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рдг рд╕реВрддреНрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдпрд╣ рд╕реАрдзреЗ рдпреИрдВрдбреЗрдХреНрд╕ рдореИрдкреНрд╕ рдкреЗрдЬ рдХреЛрдб рд╕реЗ рдЙрди рджрд┐рдиреЛрдВ рдореЗрдВ рдЦреАрдВрдЪ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрдм рдпрд╣ рдХрд░рдирд╛ рдЕрднреА рднреА рдХрд╛рдлреА рд╕рдВрднрд╡ рдерд╛ред рдореБрдЭреЗ рдЕрднреА рд╕реНрд░реЛрдд рдХрд╛ рд▓рд┐рдВрдХ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реВрддреНрд░
рдкрд╣рд▓реЗ рд╣реА рд╣рдм рдкрд░
рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛ рдЪреБрдХрд╛ рд╣реИ ред рдореИрдВрдиреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдирд╣реАрдВ рдЫреБрдЖ: рдореИрдВрдиреЗ рдмрд╕ рдЗрд╕реЗ рд╕реНрд╡рд┐рдлреНрдЯ рдкрд░ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдФрд░ рдЕрд╕рдВрдЧрдд рдПрдХрд▓-рдЕрдХреНрд╖рд░ рдЪрд░ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ "рдмрд╛рдд рдХрд░" рдирд╛рдо рджрд┐рдпрд╛ред рдХрдо рд╕реЗ рдХрдо рдЙрдирдореЗрдВ рд╕реЗ рдЬреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред (рдорджрдж рдХреЗ рд▓рд┐рдП Erelen рдХрд╛ рдзрдиреНрдпрд╡рд╛рдж)
рдЦреИрд░, рдХрд╛рд░реНрдп рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИред рд╣рдореЗрдВ рдПрдХ рдХрдирд╡рд░реНрдЯрд░ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдЬреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирдХ рдкреНрд░рдХреНрд╖реЗрдкрдг рдореЗрдВ рдЯрд╛рдЗрд▓ рдирдВрдмрд░ рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рджреАрд░реНрдШрд╡реГрддреНрдд рдкреНрд░рдХреНрд╖реЗрдкрдг рдореЗрдВ рдЯрд╛рдЗрд▓ рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдкрд┐рдХреНрд╕реЗрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
So. рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрдЦреНрдпрд╛ X 10427, Y 5119, Z 14 рдХреЗ рд╕рд╛рде рдПрдХ
рдЯрд╛рдЗрд▓ рд▓реЗрдВред
рд╣рдо рджреЛ рдЪрд░рдгреЛрдВ рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░реЗрдВрдЧреЗред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдЗрд╕ рдЯрд╛рдЗрд▓ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ (рдЕрдХреНрд╖рд╛рдВрд╢ рдФрд░ рджреЗрд╢рд╛рдВрддрд░) рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреЗ рдКрдкрд░реА рдмрд╛рдПрдВ рдХреЛрдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХред
func tileNumberToCoordinates(tileX: Int, tileY: Int, mapZoom: Int) -> (lat_deg: Double, lon_deg: Double) { let n : Double = pow(2.0, Double(mapZoom)) let lon = (Double(tileX) / n) * 360.0 - 180.0 let lat = atan( sinh (.pi - (Double(tileY) / n) * 2 * Double.pi)) * (180.0 / .pi) return (lat, lon) }
рд╣рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ (55.7889 49.1088) рдорд┐рд▓рддрд╛ рд╣реИред рдЕрдм рд╣рдо рдЕрдкрдиреЗ рд╕реВрддреНрд░ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЬрд╝реВрдо рд╕реНрддрд░ рдЕрднреА рднреА рд╕рдорд╛рди рд╣реИ: 14 рд╡рд╛рдВред
func getWGS84Position(latitude: Double, longitude: Double, zoom: Int) -> (x:Int, y:Int, offsetX:Int, offsetY:Int) {
рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ (10427, 5133, 0, 117)ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╣рдореЗрдВ X 10427, Y 5133, Z 14. рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдПрдХ Yandex
рдЯрд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ 0 рдкрд┐рдХреНрд╕реЗрд▓ рд╕реЗ рдмрд╛рдИрдВ рдУрд░ рдФрд░ 117 рдкрд┐рдХреНрд╕реЗрд▓ рдКрдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рд╣реА рдЬрдЧрд╣ рд▓реЗрдЧрд╛ред

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

рдкрд░рд┐рдгрд╛рдо рдФрд░ рдореВрд▓:

рдмреЗрд╢рдХ, рдЗрди рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдордп рд▓рд╛рдЧрдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрди рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдЙрд╕ рдЧрддрд┐ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдХрд╛рд░реНрдб "рдлреЛрдЯреЛрд╢реЙрдк" рдХрд░рддрд╛ рд╣реИ:
https://anygis.ru/api/v1/Yandex_map/{x}/{y}/{z}https://anygis.ru/api/v1/Yandex_sat_clean/{x}/{y}/{z}рдЦреИрд░, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣рд╛рдБ рдкреНрд░рд╕реНрддреБрдд рдЬрд╛рдирдХрд╛рд░реА рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред рдЖрдкрдХреЗ рдкреНрд░рдпреЛрдЧреЛрдВ рд╕реЗ рд╕реМрднрд╛рдЧреНрдпред