当前位置:   article > 正文

openlayer + echarts 实现地图划线_echarts卫星

echarts卫星

   之前分享过 maptalks + echarts 实现地图划线 的实现原理,这里在分享一下openlayer +echarts 实现划线的实现。 

  1. <template>
  2. <div id='map'></div>
  3. </template>
  4. <script>
  5. import Map from 'ol/Map'
  6. import 'ol/ol.css'
  7. import View from 'ol/View'
  8. import TileLayer from 'ol/layer/Tile'
  9. import XYZ from 'ol/source/XYZ'
  10. import ADLayer from 'openlayers_echart'
  11. import echarts from 'echarts'
  12. export default {
  13. name: 'testopenlayer',
  14. components: {},
  15. props: {},
  16. data () {
  17. return {
  18. map: null
  19. }
  20. },
  21. mounted () {
  22. this.initMap()
  23. this.drawLine()
  24. },
  25. methods: {
  26. initMap () {
  27. let layer = new TileLayer({
  28. title: '天地图卫星',
  29. type: 'base',
  30. visible: true,
  31. source: new XYZ({
  32. url: 'https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}.jpg'
  33. })
  34. })
  35. this.map = new Map({
  36. target: 'map',
  37. view: new View({
  38. projection: 'EPSG:4326', // 使用这个坐标系
  39. center: [113.14, 40.25], // 北京
  40. zoom: 8
  41. })
  42. })
  43. this.map.addLayer(layer)
  44. },
  45. drawLine () {
  46. var that = this
  47. var lines = [{ 'fromName': '北京', 'toName': '大同', 'coords': [[113.14, 40.25], [116.23, 40.22]] }]
  48. var option = {
  49. series: [{
  50. name: '',
  51. type: 'lines',
  52. polyline: true,
  53. lineStyle: {
  54. normal: {
  55. color: 'red',
  56. width: 2,
  57. opacity: 0.8,
  58. curveness: 0.2
  59. }
  60. },
  61. data: lines
  62. }]
  63. }
  64. var oe = new ADLayer(option, that.map, echarts)
  65. oe._zIndex = 1
  66. oe.render()
  67. }
  68. }
  69. }
  70. </script>
  71. <style rel='stylesheet/scss' lang='scss' scoped>
  72. #map {
  73. width: 100%;
  74. height: 100%;
  75. }
  76. </style>

当然 也可不用echarts, 直接使用openlayer 也可实现划线,也很简单,用 ol.geom.LineString() 即可。

对于实现一些简单的效果 maptalks 感觉还是很不错的, 对于实现一些比较复杂的效果 openlayer 相对来说更容易实现,leaflet 也是不错的,唯一一点就是经纬度是反着来的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/728156
推荐阅读
相关标签
  

闽ICP备14008679号