react-native-mapsforge-vtm
Version:
React Native components to build vector maps using Mapsforges fork of vtm. Offline rendering of OpenStreetMap data. Android only
45 lines (43 loc) • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = require("react");
var _reactNative = require("react-native");
/**
* External dependencies
*/
/**
* Internal dependencies
*/
const {
MapContainerModule
} = _reactNative.NativeModules;
const useMapLayersCreated = (nativeNodeHandle, onError) => {
const [mapLayersCreated, setMapLayersCreated] = (0, _react.useState)(false);
(0, _react.useEffect)(() => {
const eventEmitter = new _reactNative.NativeEventEmitter();
let eventListener = eventEmitter.addListener('MapLayersCreated', result => {
if (result.nativeNodeHandle === nativeNodeHandle) {
setMapLayersCreated(true);
}
});
return () => {
eventListener.remove();
};
}, [nativeNodeHandle]);
(0, _react.useEffect)(() => {
if (nativeNodeHandle) {
MapContainerModule.getLayersCreated(nativeNodeHandle).then(created => {
setMapLayersCreated(created);
}).catch(err => {
console.log('ERROR', err);
onError ? onError(err) : null;
});
}
}, [nativeNodeHandle]);
return mapLayersCreated;
};
var _default = exports.default = useMapLayersCreated;
//# sourceMappingURL=useMapLayersCreated.js.map