当前位置:   article > 正文

openlayers添加标记信息框_openlayers marker

openlayers marker

要点:一个marker就是一个 放置在地图相应位置的DOM元素

marker的样式可以随意扩展,然后调用API将DOM对象整个放置成为一个图层

 

  1. var marker = new ol.Overlay({
  2. element: DOM,
  3. position: ol.proj.transform( lnglat , 'EPSG:4326', 'EPSG:3857'),
  4. positioning: 'center-center'
  5. });
  6. map.addOverlay(marker);

注明:需要先引入overlayer js类才可以调用这个api;

 

DOM:html字符串

lnglat: 地图坐标

 

信息框本质也是一个dom对象 创建方法与marker一样,一般的需要加上一个关闭按钮的元素节点,并且在添加到地图之前先绑定事件;

例如:

 

  1. var content = document.getElementById('popup-content');
  2. var container = document.getElementById('popup');
  3. var closer = document.getElementById('popup-closer');
var popup;

 

 
  1. closer.onclick = function() {
  2. popup.setPosition(undefined);
  3. closer.blur();
  4. return false;
  5. };
  6. popup = new ol.Overlay(/** @type {olx.OverlayOptions} */ ({
  7. element: container,
  8. positioning: 'bottom-center'
  9. }));
  10. map.addOverlay( this.popup );
closer.onclick = function() { popup.setPosition(undefined); closer.blur(); return false; }; popup = new ol.Overlay(/** @type {olx.OverlayOptions} */ ({ element: container, positioning: 'bottom-center' })); map.addOverlay( this.popup );
注明:在markerDOM 元素中绑定事件:得到marker的坐标 然后如下操作即可
popup.setPosition(ol.proj.transform(coordinate, 'EPSG:4326', 'EPSG:3857')); // coordinate是marker坐标值

 

 

 

 

 

 

 

 

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

闽ICP备14008679号