有没有办法获得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,所以我可以“数学”这个,但那很脏。
答案 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]
,但它们可能会为您提供所需的信息。