切换地图类型时,显示“此比例没有​​地图数据”而不是更改缩放

时间:2012-04-07 10:37:29

标签: javascript google-maps google-maps-api-3 gis

在谷歌地图API v3中,我正在通过调用

创建自己的自定义地图类型
map.mapTypes.set('my map', new google.maps.ImageMapType({
    getTileUrl: ...
    minZoom: 12,
    maxZoom: 20,
    ...
}));

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

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

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

提前致谢。

1 个答案:

答案 0 :(得分: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";
        }
    },
    ...
}));