Azure Maps多边形创建方法咨询:博客提及支持但未找到配置文档
在Azure Maps中创建Polygons的方法
嘿,我来帮你搞定Azure Maps里创建Polygons的事儿!其实官方文档里是有相关说明的,可能你没找对地方,我给你拆解几种常用的实现方式,不管是写代码还是可视化操作都有:
一、使用Azure Maps Web SDK(JavaScript)
这是最常用的前端实现方式,直接在网页上渲染多边形:
// 初始化地图实例 const map = new atlas.Map('map', { center: [-122.33, 47.6], // 地图中心点经纬度 zoom: 12, authOptions: { authType: 'subscriptionKey', subscriptionKey: '你的Azure Maps订阅密钥' } }); // 等待地图加载完成后执行操作 map.events.add('ready', () => { // 创建一个用来存储多边形的数据源 const dataSource = new atlas.source.DataSource(); map.sources.add(dataSource); // 定义多边形的坐标数组(格式:[经度, 纬度],最后一个点和第一个点重合实现闭合) const polygonCoords = [ [-122.34003, 47.60998], [-122.33942, 47.60989], [-122.33935, 47.60947], [-122.34003, 47.60998] ]; // 创建Polygon地理特征,可添加自定义属性 const polygonFeature = new atlas.data.Feature( new atlas.data.Polygon([polygonCoords]), { name: '办公区域多边形' } ); // 将特征添加到数据源 dataSource.add(polygonFeature); // 创建多边形渲染图层,配置样式 const polygonLayer = new atlas.layer.PolygonLayer(dataSource, null, { fillColor: 'rgba(0, 180, 180, 0.5)', // 填充色(半透明) strokeColor: 'darkcyan', // 边框颜色 strokeWidth: 2 // 边框宽度 }); // 将图层添加到地图 map.layers.add(polygonLayer); });
关键点提示:
- 若要创建带“洞”的多边形,只需在坐标数组里嵌套内层洞的坐标,比如
[[外层坐标数组], [内层洞坐标数组]] - 多边形坐标不需要手动闭合时,SDK会自动帮你把最后一个点和第一个点连接起来
二、使用Azure Maps REST API上传多边形(存储到云端)
如果需要把多边形数据持久化存储到Azure Maps的云端数据源,可以用Data Upload API:
POST https://atlas.microsoft.com/mapData/upload?api-version=2.0&dataFormat=geojson Content-Type: application/json Subscription-Key: 你的Azure Maps订阅密钥 { "type": "FeatureCollection", "features": [ { "type": "Feature", "geometry": { "type": "Polygon", "coordinates": [ [ [-122.34003, 47.60998], [-122.33942, 47.60989], [-122.33935, 47.60947], [-122.34003, 47.60998] ] ] }, "properties": { "name": "API上传的多边形" } } ] }
请求成功后会返回一个udid,后续你可以通过这个ID在地图上加载这个云端数据源。
三、可视化创建(无需写代码)
如果你不想写代码,直接用Azure Maps Studio就能快速绘制多边形:
- 登录Azure门户,打开你的Azure Maps资源,进入「Maps Studio」
- 新建或打开一个地图项目
- 在左侧工具栏选择「绘制」工具,点击「多边形」选项
- 在地图上点击添加顶点,双击完成绘制,还能直接调整填充色、边框样式等属性
内容的提问来源于stack exchange,提问作者Coppermill
相关产品推荐
相关产品推荐

