【问题标题】:Openlayers google map getTileBoundsOpenlayers谷歌地图getTileBounds
【发布时间】:2013-03-11 10:05:00
【问题描述】:

如何使用谷歌地图 v3 作为基础层在 openlayers 中给定一个点来获取图块的边界。我无法获取 TileBounds(kaMap:second link),也无法获取 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);

【问题讨论】:

    标签: openlayers


    【解决方案1】:

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

    您是否尝试过OpenLayers.Layer.Grid.getTileData(),您在其中通过纬度/经度位置并返回 OpenLayers.Tile 对象?然后,您可以在 Tile 对象上调用 getBoundsFromBaseLayer()。

    【讨论】:

    • 嗨,我使用新的 OpenLayers.Layer.Google 而不是网格创建地图,如果可能的话,我找不到任何在网格层之上创建 google 层的示例。跨度>
    • 您好,直到现在我才看到您的评论回复。我误以为您试图获取位于 Google 基础层之上的 Grid/WMS 层的边界。我查看了 API 并查看了我在 firebug 中的数据,但我没有看到一种方法来获取地图上 Google 磁贴的边界信息。使用 Google 层,您无法控制或看到太多事情。
    猜你喜欢
    • 1970-01-01
    • 2011-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多