UNPKG

@xuehongbo/map-craft-js

Version:

MapCraftJS 是一个功能强大且灵活的开源 JavaScript 库,旨在简化互动地图的创建和操作。使用 MapCraftJS,开发者可以轻松地将动态地图功能集成到应用程序中,为用户提供根据自定义配置查看、注释和互动的地图体验。(开发中!!!)

63 lines (56 loc) 1.78 kB
import { loadResources } from '../utils/ResourceLoader.js'; class EGisAdapter { constructor(security,options, callback) { loadResources({ cssUrl: '', jsUrl: `https://map.sgcc.com.cn/maps?v=3.0.0` }).then(() => { let that = this; SGMap.tokenTask .login(security.key, security.secret) .then(function () { that.map = new SGMap.Map({ // 地图绑定的DOM元素ID container: options.container, // 地图样式 style: "aegis://styles/aegis/Streets-v2", // 默认缩放层级 zoom: options.zoom, // 地图中心点 center: [options.center.lng, options.center.lat], // 地图默认字体 localIdeographFontFamily: "Microsoft YoHei" }); callback() console.log('地图初始化成功') }); }); } addMarker(options) { //画marker点 var el = document.createElement("div"); el.className = "marker"; // 自定义图标 el.style.backgroundImage ='url("https://map.sgcc.com.cn/products/js-sdk/v3/assets/images/markers_new2_4ab0bc5_78.png")'; el.style.width = "25px"; el.style.height = "38px"; // 如果不传el,会默认给一个蓝色水滴图标 const marker = new SGMap.Marker({ element: el, anchor: "bottom" }).setLngLat([options.position.lng, options.position.lat]).addTo(this.map); return marker; } drawPolyline(points) { const path = points.map(point => [point.lng, point.lat]); const polyline = new EGis.Polyline({ path: path, color: "#0000FF", weight: 2, opacity: 0.5 }); this.map.addLayer(polyline); return polyline; } } export default EGisAdapter;