1

在谷歌地图 API v3 中,我通过调用创建自己的自定义地图类型

map.mapTypes.set('my map', new google.maps.ImageMapType({
    getTileUrl: ...
    minZoom: 12,
    maxZoom: 20,
    ...
}));

图层当然具有有限的缩放范围(本例中为 12-20)。现在问题是谷歌地图的默认行为。例如,当我看到比例为 7 的地图并切换到我的地图时,地图会自动放大到缩放 12

相反,当我在缩放 7 并切换到我的地图时,我希望看到带有文本“没有此比例的地图数据,请放大”的图块。

  • 是否有一些标准选项/方法如何在 API v3 中执行此操作?
  • 这个问题有一些常用的解决方案吗?
  • 如果没有,最简单的方法是什么?

提前致谢。

4

1 回答 1

5

避免minZoommaxZoom选项并尝试这样的事情:

map.mapTypes.set('my map', new google.maps.ImageMapType({
    getTileUrl: function( position, zoom ){
        if( zoom >= 12 && zoom <= 20 ){
            return "http://example.com/tileservice?x="+position.x+"&y="+position.y+"&zoom="+zoom;
        }else{
            return "http://example.com/no_map_data_in_this_scale_please_zoom_in.png";
        }
    },
    ...
}));
于 2012-04-07T11:03:46.383 回答