【问题标题】:I want to zoom & center a Google map enough to fit a whole block我想缩放和居中谷歌地图,足以适合整个街区
【发布时间】:2014-03-29 22:04:00
【问题描述】:

给定address,有没有办法获取具有某些参数的静态 Google 地图,以显示包括周围街道在内的整个街区?

这是我试图达到的结果(我只是从谷歌地图中手动居中和缩放以制作屏幕截图):

但是当通过静态地图 API 请求时,使用缩放 17 太远了:

并且使用 zoom=18 太近了:

更不用说我不知道​​如何使地图正确居中。

【问题讨论】:

  • 所以你想以编程方式实现它?
  • 没错,我想我需要以编程方式构建正确的 URL 以发送到静态地图 API。
  • 我的意思是块的检测(我认为不可能以编程方式检测块的尺寸)
  • 好的,如果我将缩放级别固定在一个我知道适合我所在城市大部分街区的数字上。但是,我仍然应该以某种方式将地图居中在块的中间(同样,“中间”可能适合大多数情况)。
  • “案例”是什么意思?

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


【解决方案1】:

我认为没有一种开箱即用的方式来做到这一点。您想显示哪个区块有很多可能性。

一些并发症(我敢打赌还有更多)包括:

  • 如果您在街角,应该将精灵平移到 4 个街区中的哪个街区?
  • 如果地址是公园?
  • 如果您的方块形状不规则? (即使是纽约市的矩形块,由于它们在北轴上旋转,它也足够复杂)

如果您有原点 latitudelongitude 而不是地址,您可以尝试使用 &visible=latLng2 argument 作为静态地图 URL,其中 @987654325 @ 是 origin 的修改版本,包括一个增量(可能约为 0.002 度),使其看起来与您的想法相似。此参数不能与给定的缩放一起使用。

之前:

之后:

也许您最好的选择是在中间进行一些计算(例如通过 Google 地理服务了解拐角处的街道等)

【讨论】:

    猜你喜欢
    • 2012-07-03
    • 2012-03-03
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    • 2016-06-28
    • 2019-11-06
    • 2015-05-07
    相关资源
    最近更新 更多