UNPKG

@toolkit-fe/get-location

Version:

获取当前位置

44 lines (43 loc) 1.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // getLocation.js var get_user_agent_1 = require("./get-user-agent"); var load_wx_sdk_1 = require("./load-wx-sdk"); var js_sdk_1 = require("./js-sdk"); var t_map_1 = require("./t-map"); /** * 对外暴露的获取位置方法 * @return Promise resolve一个 positionData 对象 lat-纬度 lng-经度 */ var getLocation = function () { return new Promise(function (resolve, reject) { console.log('进入全局获取用户位置方法'); var storageData = JSON.parse(localStorage.getItem('positionData') || '{}'); var userAgent = (0, get_user_agent_1.getUserAgent)(); if (storageData) { resolve(storageData); } else { // 根据环境判断 如果在微信内使用微信sdk 其他使用腾讯地图定位组件 if (userAgent === get_user_agent_1.UA.WECHAT) { (0, load_wx_sdk_1.handlerLoadScript)(function () { (0, js_sdk_1.handleWXSDKCall)(window.location.href, 'location').then(function (res) { localStorage.setItem('positionData', JSON.stringify(res)); resolve(res); }).catch(function (err) { reject(err); }); }); } else { t_map_1.default.getLocation().then(function (res) { localStorage.setItem('positionData', JSON.stringify(res)); resolve(res); }).catch(function (err) { reject(err); }); } } }); }; exports.default = getLocation;