UNPKG

neshan-map

Version:

### Developed by [Neshan Maps Platform team](https://platform.neshan.org). ### For Farsi/Persian document, [click here](https://developers.neshan.org/react-component/).

98 lines (90 loc) 2.9 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var React = require('react'); var React__default = _interopDefault(React); function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } var BASE_URL = 'https://static.neshan.org'; var DEFAULT_URL_SCRIPT = BASE_URL + "/sdk/leaflet/1.4.0/leaflet.js"; var DEFAULT_URL_STYLE = BASE_URL + "/sdk/leaflet/1.4.0/leaflet.css"; var neshan_map_loader = (function (props) { var createScriptStyle = function createScriptStyle() { var onError = props.onError, onLoad = props.onLoad; //-----import style if (!document.head.querySelector("link[href=\"" + DEFAULT_URL_STYLE + "\"]")) { var style = document.createElement('link'); style.href = DEFAULT_URL_STYLE; style.rel = 'stylesheet'; document.head.appendChild(style); } //------import script if (window.L) { if (onLoad) onLoad(); return; } var script = document.body.querySelector("script[src=\"" + DEFAULT_URL_SCRIPT + "\"]") || document.createElement('script'); script.addEventListener('load', function () { if (onLoad) onLoad(); return; }); script.addEventListener('error', function () { if (onError) onError(); return; }); if (!script.src) { script.src = DEFAULT_URL_SCRIPT; document.body.appendChild(script); } }; return createScriptStyle(); }); var NeshanMap = function NeshanMap(props) { var style = props.style, options = props.options, onInit = props.onInit; var mapEl = React.useRef(null); var defaultStyle = { width: '600px', height: '450px', margin: 0, padding: 0, background: '#eee' }; var defaultOptions = { key: 'YOUR_API_KEY', maptype: 'dreamy', poi: true, traffic: false, center: [35.699739, 51.338097], zoom: 14 }; React.useEffect(function () { neshan_map_loader({ onLoad: function onLoad() { var map = new window.L.Map(mapEl.current, _extends({}, defaultOptions, options)); if (onInit) onInit(window.L, map); }, onError: function onError() { console.error("Neshan Maps Error: This page didn't load Neshan Maps correctly"); } }); }, []); return /*#__PURE__*/React__default.createElement('div', { ref: mapEl, style: _extends({}, defaultStyle, style) }); }; exports.default = NeshanMap; //# sourceMappingURL=neshan-map.cjs.development.js.map