@mapcomponents/react-maplibre 0.1.81 → 0.1.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.esm.js +0 -127
- package/dist/index.esm.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -50,7 +50,6 @@ export { default as useFilterData } from "./components/MlTemporalController/util
|
|
|
50
50
|
export { default as useLayerContext } from "./hooks/useLayerContext";
|
|
51
51
|
export { default as useFeatureEditor } from "./hooks/useFeatureEditor";
|
|
52
52
|
export { default as useAddProtocol } from "./hooks/useAddProtocol/useAddProtocol";
|
|
53
|
-
export { mbTilesProtocolHandler } from "./protocol_handlers/mbtiles";
|
|
54
53
|
export { MapComponentsProvider } from "./contexts/MapContext";
|
|
55
54
|
export { default as MapContext } from "./contexts/MapContext";
|
|
56
55
|
export { default as SimpleDataProvider } from "./contexts/SimpleDataProvider";
|
package/dist/index.esm.js
CHANGED
|
@@ -46,8 +46,6 @@ var PauseIcon = require('@mui/icons-material/Pause');
|
|
|
46
46
|
var StopIcon = require('@mui/icons-material/Stop');
|
|
47
47
|
var FastForwardIcon = require('@mui/icons-material/FastForward');
|
|
48
48
|
var FastRewindIcon = require('@mui/icons-material/FastRewind');
|
|
49
|
-
var initSqlJs = require('sql.js');
|
|
50
|
-
var pako = require('pako');
|
|
51
49
|
var d3 = require('d3');
|
|
52
50
|
var TuneIcon = require('@mui/icons-material/Tune');
|
|
53
51
|
var reactColor = require('react-color');
|
|
@@ -129,8 +127,6 @@ var PauseIcon__default = /*#__PURE__*/_interopDefaultLegacy(PauseIcon);
|
|
|
129
127
|
var StopIcon__default = /*#__PURE__*/_interopDefaultLegacy(StopIcon);
|
|
130
128
|
var FastForwardIcon__default = /*#__PURE__*/_interopDefaultLegacy(FastForwardIcon);
|
|
131
129
|
var FastRewindIcon__default = /*#__PURE__*/_interopDefaultLegacy(FastRewindIcon);
|
|
132
|
-
var initSqlJs__default = /*#__PURE__*/_interopDefaultLegacy(initSqlJs);
|
|
133
|
-
var pako__namespace = /*#__PURE__*/_interopNamespace(pako);
|
|
134
130
|
var d3__namespace = /*#__PURE__*/_interopNamespace(d3);
|
|
135
131
|
var TuneIcon__default = /*#__PURE__*/_interopDefaultLegacy(TuneIcon);
|
|
136
132
|
var ArrowCircleDownIcon__default = /*#__PURE__*/_interopDefaultLegacy(ArrowCircleDownIcon);
|
|
@@ -6212,128 +6208,6 @@ useAddProtocol.defaultProps = {
|
|
|
6212
6208
|
mapId: undefined,
|
|
6213
6209
|
};
|
|
6214
6210
|
|
|
6215
|
-
var loadedMbtiles = {};
|
|
6216
|
-
var parseParams = function (url) {
|
|
6217
|
-
var urlParts = url.split('://');
|
|
6218
|
-
var mbtilesUrl = urlParts[1];
|
|
6219
|
-
var mbtilesParts = mbtilesUrl.split('/');
|
|
6220
|
-
var mbtilesPartsLength = mbtilesParts.length;
|
|
6221
|
-
var y = mbtilesParts.splice(mbtilesPartsLength - 1, 1)[0];
|
|
6222
|
-
var x = mbtilesParts.splice(mbtilesPartsLength - 2, 1)[0];
|
|
6223
|
-
var z = mbtilesParts.splice(mbtilesPartsLength - 3, 1)[0];
|
|
6224
|
-
var filename = mbtilesParts.join('/');
|
|
6225
|
-
return {
|
|
6226
|
-
filename: filename,
|
|
6227
|
-
z: z,
|
|
6228
|
-
x: x,
|
|
6229
|
-
y: y,
|
|
6230
|
-
};
|
|
6231
|
-
};
|
|
6232
|
-
// mbtiles files are sqlite databases. This function loads the database and returns a handler
|
|
6233
|
-
// to work with sqlite databases in javascript we need to use sql.js.
|
|
6234
|
-
// to make this work in your project make sure to copy sql-wasm.wasm to the file root of your public folder and
|
|
6235
|
-
// add the following config to the externals prop of your webpack config
|
|
6236
|
-
// {externals: { fs: 'fs' }};
|
|
6237
|
-
var getMbtilesDbHandler = function (_a) {
|
|
6238
|
-
var filename = _a.filename;
|
|
6239
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
6240
|
-
var SQL, fetched, buf, db;
|
|
6241
|
-
return __generator(this, function (_b) {
|
|
6242
|
-
switch (_b.label) {
|
|
6243
|
-
case 0:
|
|
6244
|
-
if (!!loadedMbtiles[filename]) return [3 /*break*/, 4];
|
|
6245
|
-
return [4 /*yield*/, initSqlJs__default["default"]()];
|
|
6246
|
-
case 1:
|
|
6247
|
-
SQL = _b.sent();
|
|
6248
|
-
return [4 /*yield*/, fetch(filename)];
|
|
6249
|
-
case 2:
|
|
6250
|
-
fetched = _b.sent();
|
|
6251
|
-
return [4 /*yield*/, fetched.arrayBuffer()];
|
|
6252
|
-
case 3:
|
|
6253
|
-
buf = _b.sent();
|
|
6254
|
-
db = new SQL.Database(new Uint8Array(buf));
|
|
6255
|
-
loadedMbtiles[filename] = db;
|
|
6256
|
-
_b.label = 4;
|
|
6257
|
-
case 4: return [2 /*return*/, loadedMbtiles[filename]];
|
|
6258
|
-
}
|
|
6259
|
-
});
|
|
6260
|
-
});
|
|
6261
|
-
};
|
|
6262
|
-
/**
|
|
6263
|
-
* Example usage:
|
|
6264
|
-
* getBufferFromMbtiles({ filename: 'mbtiles/countries.mbtiles', z: '0', x: '0', y: '0' }).then(
|
|
6265
|
-
* (result) => {
|
|
6266
|
-
* console.log(result);
|
|
6267
|
-
* }
|
|
6268
|
-
* );
|
|
6269
|
-
*/
|
|
6270
|
-
function getBufferFromMbtiles(params) {
|
|
6271
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
6272
|
-
var db, query;
|
|
6273
|
-
return __generator(this, function (_a) {
|
|
6274
|
-
switch (_a.label) {
|
|
6275
|
-
case 0: return [4 /*yield*/, getMbtilesDbHandler(params)];
|
|
6276
|
-
case 1:
|
|
6277
|
-
db = _a.sent();
|
|
6278
|
-
query = 'SELECT tile_data FROM tiles WHERE zoom_level = ' +
|
|
6279
|
-
params.z +
|
|
6280
|
-
' AND tile_column = ' +
|
|
6281
|
-
params.x +
|
|
6282
|
-
' AND tile_row = ' +
|
|
6283
|
-
(Math.pow(2, parseInt(params.z)) - parseInt(params.y) - 1);
|
|
6284
|
-
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
6285
|
-
try {
|
|
6286
|
-
// some of the logic here was heavily inspired by
|
|
6287
|
-
// https://github.com/IsraelHikingMap/Site/blob/6aa2ec0cfb8891fa048b1d9e2a4fc7d4cbcc8c97/IsraelHiking.Web/src/application/services/database.service.ts
|
|
6288
|
-
var result = db.exec(query);
|
|
6289
|
-
if (result.length !== 1) {
|
|
6290
|
-
reject(new Error('Tile not found.'));
|
|
6291
|
-
return;
|
|
6292
|
-
}
|
|
6293
|
-
var resultData = result[0].values[0][0];
|
|
6294
|
-
var binData = void 0;
|
|
6295
|
-
var isGzipped = resultData[0] === 0x1f && resultData[1] === 0x8b;
|
|
6296
|
-
if (isGzipped) {
|
|
6297
|
-
binData = pako__namespace.inflate(resultData);
|
|
6298
|
-
}
|
|
6299
|
-
else {
|
|
6300
|
-
binData = resultData;
|
|
6301
|
-
}
|
|
6302
|
-
if (binData === null || binData === void 0 ? void 0 : binData.buffer) {
|
|
6303
|
-
resolve(binData.buffer);
|
|
6304
|
-
}
|
|
6305
|
-
else {
|
|
6306
|
-
reject(new Error('Tile not found.'));
|
|
6307
|
-
return;
|
|
6308
|
-
}
|
|
6309
|
-
}
|
|
6310
|
-
catch (error) {
|
|
6311
|
-
reject(error);
|
|
6312
|
-
}
|
|
6313
|
-
})];
|
|
6314
|
-
}
|
|
6315
|
-
});
|
|
6316
|
-
});
|
|
6317
|
-
}
|
|
6318
|
-
/**
|
|
6319
|
-
* Expects a tile url in the following format:
|
|
6320
|
-
*
|
|
6321
|
-
* 'mbtiles://mbtiles/countries.mbtiles/{z}/{x}/{y}'
|
|
6322
|
-
*/
|
|
6323
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6324
|
-
var mbTilesProtocolHandler = function (params, callback) {
|
|
6325
|
-
var parsedParams = parseParams(params.url);
|
|
6326
|
-
getBufferFromMbtiles(parsedParams).then(function (result) {
|
|
6327
|
-
if (result) {
|
|
6328
|
-
callback(null, result, null, null);
|
|
6329
|
-
}
|
|
6330
|
-
else {
|
|
6331
|
-
callback(new Error('Tile not found'));
|
|
6332
|
-
}
|
|
6333
|
-
});
|
|
6334
|
-
return { cancel: function () { } };
|
|
6335
|
-
};
|
|
6336
|
-
|
|
6337
6211
|
var SimpleDataContext = /*#__PURE__*/React__default["default"].createContext({});
|
|
6338
6212
|
var SimpleDataContextProvider = SimpleDataContext.Provider;
|
|
6339
6213
|
|
|
@@ -20078,7 +19952,6 @@ exports.TopToolbar = TopToolbar;
|
|
|
20078
19952
|
exports.UploadButton = UploadButton;
|
|
20079
19953
|
exports.WmsLayerForm = WmsLayerForm;
|
|
20080
19954
|
exports.getTheme = getTheme;
|
|
20081
|
-
exports.mbTilesProtocolHandler = mbTilesProtocolHandler;
|
|
20082
19955
|
exports.useAddProtocol = useAddProtocol;
|
|
20083
19956
|
exports.useCameraFollowPath = useCameraFollowPath;
|
|
20084
19957
|
exports.useExportMap = useExportMap;
|