Openlayers谷歌地图getTileBounds

时间:2013-03-11 10:05:01

标签: openlayers

如何使用google map v3作为基础层获取openlayers中给定点的tile的边界。我无法获取TileBounds(kaMap:第二个链接)而且我无法获取TileSize(GoogleMap)。

http://dev.openlayers.org/docs/files/OpenLayers/Layer/Google/v3-js.html

http://dev.openlayers.org/releases/OpenLayers-2.11/doc/apidocs/files/OpenLayers/Layer/KaMap-js.html

我的代码示例:

 getTileInformationForPoint : function(point) {
    var layer = this.map.baseLayer;

    //Get the bounds of the tile that encases point
    var lonLat = new OpenLayers.LonLat(point.getLongitude(), point.getLatitude());
    lonLat = lonLat.transform('EPSG:4326','EPSG:3857');
    var viewPortPixel = this.map.getViewPortPxFromLonLat(lonLat);
    var tileBounds = layer.getTileBounds(viewPortPixel);

1 个答案:

答案 0 :(得分:0)

OpenLayers.Layer.Grid.getTileBounds()看起来像是在整个图块网格周围返回一个边界 - 当前加载的所有图块。这看起来不像你需要的那样。

您是否尝试了传递纬度/经度位置的OpenLayers.Layer.Grid.getTileData()并且它为您提供了一个OpenLayers.Tile对象?然后,您可以在Tile对象上调用getBoundsFromBaseLayer()。