@its-cool/simple-map
v2.0.0
Published
A simple GIS map library built on OpenLayers.
Maintainers
Readme
simple-map
simple-map is a Vite-powered JavaScript GIS map library built on OpenLayers.
Install
npm install @its-cool/simple-map依赖(ol、proj4、@turf/turf、echarts、ol-echarts)已写在包的 dependencies 里,npm install @its-cool/simple-map 会一并安装,无需再手写一串 peer 包。若宿主项目已安装同名依赖,npm 通常会尽量提升/复用同一版本;若两端 major 冲突,可能出现两份副本,此时再在宿主里对齐版本即可。
Usage
import { Map, transformCoord, Draw, Measure, Track } from '@its-cool/simple-map';
import '@its-cool/simple-map/style.css';
const map = new Map('map', {
centerX: 0,
centerY: 0,
zoom: 12,
wkid: 3857,
callback: {}
});Webpack 宿主项目
在 Webpack 5 里直接 import { Map, Draw } from '@its-cool/simple-map' 即可;包里的 exports 会解析到 dist/simple-map.js(ESM)。运行时依赖会随 @its-cool/simple-map 自动安装。
样式:对 import '@its-cool/simple-map/style.css' 配置 css-loader(再配合 style-loader 或 MiniCssExtractPlugin),与处理其它 npm 包里的 CSS 相同。
静态资源:默认样式里图标路径是 /image/...。请把本包构建产物里的 dist/image/ 拷到你应用的静态目录(例如 public/image/),或继续用下面「Assets」里的 CSS 变量改成你的 CDN 路径。
Webpack 4:对 package.json 的 exports 支持不完整(建议 4.37+ 或升级到 5)。若解析异常,可在 resolve.alias 里显式指定:
// webpack.config.js
resolve: {
alias: {
'@its-cool/simple-map': path.resolve(__dirname, 'node_modules/@its-cool/simple-map/dist/simple-map.js'),
'@its-cool/simple-map/style.css': path.resolve(__dirname, 'node_modules/@its-cool/simple-map/dist/style.css')
}
}链到本地源码调试(可选):把 @its-cool/simple-map 指到本仓库的 src/index.js,并在宿主里为 @its-cool/simple-map/style.css 指到 src/style.css;同时宿主 public 里要有 /image,与 Vite 侧说明一致。
Dependencies(随包安装)
@its-cool/simple-map 的 package.json → dependencies 包含:ol、proj4、@turf/turf、echarts、ol-echarts。宿主只需依赖 @its-cool/simple-map,除非要主动对齐或与宿主已有的 GIS 栈共用单一版本时再额外声明同名依赖。
Assets
Marker styles reference Vite public assets under /image by default. If your app serves assets from a different path, override the CSS variables:
:root {
--simple-map-icon-marker: url('/your-path/icon-marker.png');
--simple-map-icon-marker-cur: url('/your-path/icon-marker-cur.png');
--simple-map-icon-marker-hover: url('/your-path/icon-marker-hover.png');
--simple-map-icon-marker-result: url('/your-path/icon-marker-result.png');
}Publish(维护者)
包名为作用域包 @its-cool/simple-map,publishConfig.access 已为 public。发布到 npm 官方源:
npm run build
npm publish若全局 registry 指向镜像,可显式指定:npm publish --registry=https://registry.npmjs.org/(package.json 里已配置 publishConfig.registry)。
Build
npm install
npm run buildProject Layout
playground/is a Vue 3 + Vite + Router + Pinia + Element Plus app for local feature testing (seeplayground/README.md).src/contains the modern Vite library source.public/image/contains static assets copied todist/imageduring build.src/utils/mapTools/contains shared utility code.legacy/simpleMap/keeps the original pre-Vite implementation for reference only.
Runtime And Build Environment
This package currently supports Node.js >=14.18.0 and uses Vite 4 for compatibility with older environments. For new development environments, Node.js 18/20 is recommended; after upgrading the team runtime, Vite can be upgraded to the latest major version.
