【问题标题】:Get Google Map Marker Position on Screen获取屏幕上的谷歌地图标记位置
【发布时间】:2017-08-08 00:51:12
【问题描述】:

有没有办法获取 Google Map API 标记的边界矩形(屏幕位置)?我使用的是 Angular 2 包装器,所以我不会像通常使用 API 那样构建标记(尽管在这里几乎不相关)。

或者它们是在内部画布上,无法像使用 html 元素那样拉位置?

我已经尝试过类似的方法,但 getBoundingRectangle() 返回的值为零:

      var googleMapContent = document.getElementsByClassName("sebm-google-map-content")[0];

      var markerList = googleMapContent.getElementsByTagName("sebm-google-map-marker");

      if( markerList.length > 0 ) {
          for (var i = 0; i < markerList.length; i++ ){
             var marker = markerList[i];
             var markerLabel = marker.getAttribute("ng-reflect-label");
             var boundingRectangle = marker.getBoundingClientRect();
          }
      }

附:我可以访问地图中心 lat/lng + 缩放和标记 lat/lng,所以我可以“计算”这个,但这很脏。

【问题讨论】:

  • 你是怎么解决这个问题的?

标签: html angular google-maps-api-3 angular2-google-maps


【解决方案1】:

Marker class 没有getBoundingRectanglegetBoundingClientRect 方法。

不过,它有 getPosition()getShape(),它们组合起来可能会为您提供所需的信息。

【讨论】:

  • 本机标记类可以 - 由于 Angular 2 API,我无法直接访问标记,我只能从 dom 中提取它们。但是,getShape() 很有希望。
猜你喜欢
  • 2019-09-23
  • 2017-12-03
  • 2018-01-30
  • 1970-01-01
  • 2015-10-17
  • 1970-01-01
  • 2012-11-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多