UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

59 lines (54 loc) 2.01 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var pixui_gamelet = require('./gamelet.js'); // 定位 flag,标记定位返回结果的类型 exports.LocationFlagInPixui = void 0; (function (LocationFlagInPixui) { LocationFlagInPixui[LocationFlagInPixui["LocationSuccess"] = 1] = "LocationSuccess"; LocationFlagInPixui[LocationFlagInPixui["LocationNoPermission"] = 2] = "LocationNoPermission"; LocationFlagInPixui[LocationFlagInPixui["LocationFailed"] = 3] = "LocationFailed"; })(exports.LocationFlagInPixui || (exports.LocationFlagInPixui = {})); /** * 获取游戏定位信息,回调数据 * { * flag: LocationFlagInPixui, * lat: number, * lng: number, * } */ var getLocationInPixui = function getLocationInPixui(platformAPI) { return new Promise(function (resolve) { var _onGameCommandListener = function onGameCommandListener(message) { try { var data = JSON.parse(message); if (data.type === 'updateLocation') { if (data.longitude == 0 && data.latitude == 0) { // 游戏返回的经纬度值均为 0,则表示用户 GPS 系统开关未打开 resolve({ flag: exports.LocationFlagInPixui.LocationNoPermission, lat: 0, lng: 0 }); } else { resolve({ flag: exports.LocationFlagInPixui.LocationSuccess, lat: +data.latitude, lng: +data.longitude }); } // 去除监听 pixui_gamelet.getGameletPixuiFrame().GameletAPI.removeOnGameCommandListener(_onGameCommandListener); } } catch (e) { console.error(e); } }; // 监听游戏回调地图信息 pixui_gamelet.getGameletPixuiFrame().GameletAPI.addOnGameCommandListener(_onGameCommandListener); platformAPI.callGame(JSON.stringify({ type: 'checkLocation', content: '1' })); }); }; exports.getLocationInPixui = getLocationInPixui;