谷歌地图API缩放范围

Rob*_*rai 53 google-maps

我正在使用谷歌地图API版本-3,我尝试使用不同的缩放值,我已经随机完成了一些以1到100开始的数字,地图会放大以增加数字但是某些级别给出相同的结果,我的意思是我得到了相同的缩放30和100.

我想知道,缩放的确切范围是多少?

Him*_*shu 67

Google地图基础知识

缩放级别 - 缩放

0 - 19

0最低变焦(全世界)

19个最高变焦(单个建筑物,如果有)使用获取当前缩放级别 mapObject.getZoom()

  • @Jay:值18不是最大缩放级别.它仅用于该示例.请参阅Google文档[最大缩放图像服务](https://developers.google.com/maps/documentation/javascript/maxzoom):例如,可以从缩放级别0到18获得大多数路线图图像.卫星图像的变化范围更广,因为不会生成此图像,而是直接拍摄._ 18和19都不是最高缩放级别.所以,如果你想知道特定点的最大缩放,你必须使用`getMaxZoomAtLatLng()`作为@bkaid声明. (4认同)

Jer*_*myD 50

可用的缩放级别

缩放级别0是可用缩放最多的缩放级别,缩放级别中的每个整数步长将视图的X和Y范围缩小一半,并使线性分辨率加倍.

谷歌地图是建立在256x256像素平铺系统上的,其中缩放级别0是整个地球的256x256像素图像.用于缩放级别1的256x256图块从缩放级别0放大128x128像素区域.

正如bkaid所说,可用的缩放范围取决于您所查看的位置以及您使用的地图类型:

  • 路线图 - 似乎到处都是22级
  • 混合和卫星地图 - 最大可用缩放级别取决于位置.这里有些例子:
    • 南极洲偏远地区:13
    • 戈壁沙漠:17
    • 美国和欧洲大部分地区:21
    • "深度缩放"位置:22-23(见bkaid的链接)

请注意,这些值适用于Google Static Maps API,它似乎提供了比Javascript API更多的缩放级别.似乎静态地图可用的额外缩放级别只是来自Javascript API的最大分辨率图像的上采样版本.

各种缩放级别的地图比例

Google地图使用墨卡托投影,因此比例随纬度而变化很大.基于纬度计算正确比例的公式为:

meters_per_pixel = 156543.03392 * Math.cos(latLng.lat() * Math.PI / 180) / Math.pow(2, zoom)

公式来自Chris Broadfoot的评论.


Rah*_*nde 23

你要找的是每个缩放级别的比例.使用这些:

20 : 1128.497220
19 : 2256.994440
18 : 4513.988880
17 : 9027.977761
16 : 18055.955520
15 : 36111.911040
14 : 72223.822090
13 : 144447.644200
12 : 288895.288400
11 : 577790.576700
10 : 1155581.153000
9  : 2311162.307000
8  : 4622324.614000
7  : 9244649.227000
6  : 18489298.450000
5  : 36978596.910000
4  : 73957193.820000
3  : 147914387.600000
2  : 295828775.300000
1  : 591657550.500000
Run Code Online (Sandbox Code Playgroud)

  • 以米或英里? (3认同)
  • 作为一个比例,规模本身是无量纲的. (2认同)
  • 您知道这些数字来自何处或如何计算吗? (2认同)

bka*_*aid 10

范围取决于您所看到的位置.有些地方只有15左右的缩放级别,其他地方有23个(或可能更多). 以下是 23个缩放级别的一些示例.Google地图getMaxZoomAtLatLng可以进行API调用以检索最大缩放级别.