在屏幕上获取Google地图标记位置

时间:2017-03-16 17:30:50

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

有没有办法获得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();
          }
      }

P.S。我可以访问地图中心lat / lng + zoom和marker lat / lng,所以我可以“数学”这个,但那很脏。

1 个答案:

答案 0 :(得分:1)

Marker class没有getBoundingRectangle或者getBoundingClientRect getPosition()方法。

它虽然有getShape()>>> def foo(list_): ... for i in list_: ... yield i*2 ... >>> val = [1, 2, 3, 4] >>> gen = foo(val) >>> list(gen) [2, 4, 6, 8] >>> list(gen) # gen is now exhausted, so no more elements are produced [] >>> gen = foo(val) # new generator >>> list(gen) [2, 4, 6, 8] ,但它们可能会为您提供所需的信息。