【问题标题】:Display Valid Google Streetview Areas as a Layer on a Map using Javascript API v3使用 Javascript API v3 在地图上将有效的 Google 街景区域显示为图层
【发布时间】:2012-07-31 19:08:16
【问题描述】:

我正在开发一个使用 Google Maps Javascript API v3 的 javascript Web 应用程序。地图允许用户做的一件事是沿着街道绘制路线。但是,我希望用户能够沿着已被街道查看的街道绘制路线,但我遇到了一些问题......

当您将黄色街景人拖到地图对象上时,所有有效的街景街道都会亮起蓝色。但是,有时这些街道与实际地图没有正确对齐,有时地图上的街道没有被街道查看。我的问题是如何让“有效街景区域”覆盖在地图上,而不会拖着黄色的人四处走动?有没有我可以以某种方式激活的层?

我希望此图层始终可见,以便用户可以判断他们正在绘制路线的街道是否已被街景查看,并能够确保他们的路线与街景网格对齐。

谢谢

【问题讨论】:

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


    【解决方案1】:

    StreetViewCoverageLayer() 已添加到 v3 api,因此这是可能的。

    https://developers.google.com/maps/documentation/javascript/reference#StreetViewCoverageLayer

    var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
    var streetViewLayer = new google.maps.StreetViewCoverageLayer();
    streetViewLayer.setMap(map);
    

    【讨论】:

    • 这样可以很好地显示蓝色街景覆盖层。谢谢。如何打开和关闭它的可见性?
    • 啊哈。这使它不可见:streetViewLayer.setMap(null);
    • 这让它重新出现:streetViewLayer.setMap(map)
    【解决方案2】:

    在 API v3 中,没有在地图上显示蓝色叠加层的图层。以下是可用层的完整列表:https://developers.google.com/maps/documentation/javascript/layers

    目前,在 API 和官方地图网站上,蓝线实际上是显示在地图上的透明 PNG 瓦片 (256x256)。

    有时它们不能正确对齐的原因是在某些国家/地区可以使用 Map Maker(协作地图编辑),并且人们会弄乱道路线,并且它们不会同时在所有 Google 服务中更新(对于街景可用性,我什至认为它们根本不会更新)。

    我能看到的唯一解决方法是熟悉 Google 地图中使用的平铺坐标系统 (https://developers.google.com/maps/documentation/javascript/maptypes#TileCoordinates),它也用于蓝色叠加层,并创建一个使用它的新地图类型/图层。

    磁贴链接示例:https://mts2.google.com/mapslt?lyrs=svv&x=75041&y=47444&z=17&w=256&h=256&hl=en&style=40,18

    x 和 y 是平铺坐标,z 是缩放比例

    这有点复杂,但如果你打算这样做,我可以提供一些额外资源。

    但请注意:API 条款未涵盖此解决方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      相关资源
      最近更新 更多