一、图片标注

图片标注的核心
1、添加一个点要素
2、给点要素设置style

步骤

  1. 1、加载底图
  2. 2、定义style对象
  3. 3、创建点要素,并设置style
  4. 4、创建矢量数据源,加载点要素
  5. 5、创建矢量图层,加载矢量数据源
  6. 6、在map中加载矢量图层
  1. <body>
  2. <div id="map_container">
  3. </div>
  4. <script>
  5. /* 一、加载底图 */
  6. const map = new ol.Map({
  7. target: 'map_container',
  8. layers: [TianDiMap_vec, TianDiMap_cva],
  9. view: new ol.View({
  10. projection: 'EPSG:4326', // 经纬度坐标系(默认是默卡托坐标系)
  11. center: [0, 0],
  12. zoom: 2
  13. })
  14. })
  15. // 二. 通过Style类创建icon
  16. const icon = new ol.style.Style({
  17. /**{olx.style.IconOptions}类型*/
  18. image: new ol.style.Icon({
  19. anchor: [0.5,0.5 ],
  20. anchorOrigin: 'top-right',
  21. anchorXUnits: 'fraction',
  22. anchorYUnits: 'pixels',
  23. offsetOrigin: 'top-right',
  24. // offset:[0,10],
  25. //图标缩放比例
  26. scale: 0.5,
  27. //透明度
  28. opacity: 0.75,
  29. //图标的url
  30. src: '../image/location.png',
  31. }),
  32. })
  33. // 三. 创建点要素, 设置点要素样式
  34. const point_Icon = new ol.Feature({
  35. geometry: new ol.geom.Point([114, 36]),
  36. })
  37. point_Icon.setStyle(icon)
  38. /* 四、创建矢量数据 */
  39. const source = new ol.source.Vector({
  40. features:[point_Icon]
  41. })
  42. /* 五、创建矢量图层,加载矢量数据源 */
  43. const vector = new ol.layer.Vector({
  44. source:source
  45. })
  46. // 六、在map中加载矢量图层
  47. map.addLayer(vector)
  48. </script>
  49. </body>