&..._ol new style circle 用法">
当前位置:   article > 正文

OpenLayers学习笔记中级篇(六、地图交互)_ol new style circle 用法

ol new style circle 用法

1、Feature选取之选中样式

  1. <!doctype html>
  2. <html xmlns=http://www.w3.org/1999/xhtml>
  3. <head>
  4. <meta http-equiv=Content-Type content="text/html;charset=utf-8">
  5. <meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1">
  6. <meta content=always name=referrer>
  7. <title>修改矢量地图</title>
  8. <link href="css/ol.css" rel="stylesheet" type="text/css" />
  9. <script type="text/javascript" src="js/ol.js" charset="utf-8"></script>
  10. </head>
  11. <body>
  12. <div id="map2" style="width: 100%"></div>
  13. <script type="text/javascript">
  14. var layer2 = new ol.layer.Vector({
  15. source: new ol.source.Vector(),
  16. // 注意:把feature上的style,直接移到layer上,避免直接在feature上设置style
  17. style: new ol.style.Style({
  18. image: new ol.style.Circle({
  19. radius: 10,
  20. fill: new ol.style.Fill({
  21. color: 'red'
  22. })
  23. })
  24. })
  25. });
  26. var map2 = new ol.Map({
  27. layers: [
  28. new ol.layer.Tile({
  29. source: new ol.source.OSM()
  30. }),
  31. layer2
  32. ],
  33. target: 'map2',
  34. view: new ol.View({
  35. center: ol.proj.transform(
  36. [104, 30], 'EPSG:4326', 'EPSG:3857'),
  37. zoom: 10
  38. })
  39. });
  40. // 在地图上添加一个圆
  41. var circle2 = new ol.Feature({
  42. geometry: new ol.geom.Point(ol.proj.transform(
  43. [104, 30], 'EPSG:4326', 'EPSG:3857'))
  44. })
  45. // 此处不再为feature设置style
  46. layer2.getSource().addFeature(circle2);
  47. // 添加一个用于选择Feature的交互方式
  48. map2.addInteraction(new ol.interaction.Select({
  49. // 设置选中后的style
  50. style: new ol.style.Style({
  51. image: new ol.style.Circle({
  52. radius: 10,
  53. fill: new ol.style.Fill({
  54. color: 'blue'
  55. })
  56. })
  57. })
  58. }));
  59. </script>
  60. </body>
  61. </html>

大家可以自己运行看一下效果!

2、Feature选取之条件过滤

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

闽ICP备14008679号