0

我正在使用 v7 javascript Bing Maps API!

我有一个包含 PushPins 的 EntityCollection。我想从地图的当前视口或从 map.getTargetBound() 中获取所有 PushPins?

我有这样的东西,其中 Geocode.pinLayer 是一个 EntityCollection 对象,我已经向 PushPins 对象添加了一个 id 属性。pushPin.getVisible() 不幸的是,我只检查图钉是否在地图上,而不是在视口中:

`var visiblePins = [];
        for(var i=0; i<Geocode.pinLayer.getLength(); i+=1){
            if(Geocode.pinLayer.get(i).getVisible()){
                visiblePins.push(Geocode.pinLayer.get(i).id);
            }
        }
        return visiblePins;`

:)

4

1 回答 1

2

除非我误解了您的问题,否则这应该很容易。

  1. 获取当前地图视图(端口):Map.getBounds()。你得到一个 LocationRect 对象。让我们称之为LocationRectViewPort
  2. 获取图钉的位置:Pushpin.getLocation()。你得到一个 Location 对象。让我们称之为PushPinLocation
  3. 看看PushPinLocation里面有没有LocationRectViewPort。使用LocationRect.contains(),例如:
if(LocationRectViewPort.contains(PushpinLocation))
{
     // Do stuff
}
于 2013-04-22T16:32:06.007 回答