我可以检索更高分辨率的地图图块吗

时间:2018-02-21 15:21:40

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

我无法找到与此问题有关的任何内容,所以我想问......

如果您访问Google地图(通过maps.google.com),只要您的位置处于启用状态,它就会默认设置为缩放级别15.现在,在Google Maps API上,您可以指定缩放就好了 - 它是不同的滚动步骤。而在API中,您只能步入+/- 1,然后是母版谷歌地图,步数为+/- .01 - 小数位!

为了自己测试一下(我以前没想过尝试过),我把一些小数点放到我的缩放级别,它就可以了!但它真的......模糊。

var map = new google.maps.Map( document.getElementById('map'), {
 center: {
  lat: 38.8563801,
  lng: -88.3202496
 },
 zoom: 9.27,
 mapTypeId: google.maps.MapTypeId.ROADMAP,
 disableDefaultUI: true
});

很明显,API 可能仅按特定缩放级别提供切片,但是有可能获得带有小数步进的高质量地图图块,就像主要Google地图一样吗?

修改

API

API is blurry at .27

谷歌' S

Google's is crisp

1 个答案:

答案 0 :(得分:1)

我首先将此作为评论发布,但我认为我会发展得更多。

我从未尝试过非整数缩放级别,因为文档说:

  

有效值:零之间的整数,以及支持的maximum zoom level

之间的整数

对于缩放属性,我从来没有看到任何记录的方法来实现这一点。

您可以订阅this feature request though。但不要指望这种情况很快就会发生......

Intersting是

map.setZoom(1.5);
map.getZoom(); // Outputs 1.5

所以我想,也许你可以用自己的图像来表达,但......

var customMapType = new google.maps.ImageMapType({
    getTileUrl: function(coord, zoom) {

        console.log(zoom); // Outputs 1
    }
});

所以这不起作用。换句话说,我想你现在已经陷入了整数。