Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/location/google/src/ |
Upload File : |
/** * Loads google source services */ export default class Loader { static #loadingPromise = null; static #createSrc(apiKey, languageId) { return 'https://maps.googleapis.com/maps/api/js' + `?key=${apiKey}` + '&libraries=places' + `&language=${languageId}` + `®ion=${this.#getRegion(languageId)}`; } static #getRegion(languageId: string): string { const map = { 'en': 'US', 'uk': 'UA', 'zh': 'CN', 'ja': 'JP', 'vi': 'VN', 'ms': 'MY', 'hi': 'IN' }; return typeof map[languageId] !== 'undefined' ? map[languageId] : languageId.toUpperCase(); } /** * Loads google services * @param {string} apiKey * @param {string} languageId * @returns {Promise} */ static load(apiKey: string, languageId: string): Promise { if (Loader.#loadingPromise === null) { Loader.#loadingPromise = new Promise((resolve) => { BX.load( [Loader.#createSrc(apiKey, languageId)], () => { resolve(); } ); }); } return Loader.#loadingPromise; } }