@toolkit-fe/get-location
Version:
获取当前位置
44 lines (43 loc) • 1.72 kB
JavaScript
;
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;