如何在Google地图中的自定义平铺服务器上显示混合地图标签

时间:2015-07-06 16:29:18

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

我有一个图像叠加层,可以在选定的Google地图上显示高分辨率图像(请参阅Google API Examples中的示例)。在卫星视图中,这非常有效。但是,当用户切换到混合视图时,我注意到我的地图叠加层上没有显示任何标签或街道。有没有人知道如何让街道和标签显示在我的地图叠加层上?

- 开始编辑 -

我确实找到了类似的问题here。但是,我无法弄清楚如何在我的自定义叠加层没有图像的地图部分上获取重复的数据街道/标签图层。如果这是最好的解决方案,那么当选择的地图类型ID是HYBRID时,有没有办法隐藏标签?

1 个答案:

答案 0 :(得分:0)

我认为你需要做两件事:

  1. 将自定义图块添加为基本地图图层
  2. 仅将StyledMapType标签添加到地图的overlayMapTypes
  3. 添加自定义图块作为基本图层

    请参考this example创建一个ImageMapType,我猜你想要的是使用自己的自定义地图类型图块。

    添加仅带标签的StyledMapType

    您可以创建StyledMapType

    var featureOpts = [{
      elementType: 'geometry'
      stylers: [
        { visibility: 'off' }
      ]
    }];
    
    var labelsOnlyMapType = new google.maps.StyledMapType(featureOpts, {
      name: 'Labels Only'
    });
    

    然后,您可以将其放入Map' overlayMapTypes

    // assuming you made a Map called 'map'
    map.overlayMapTypes.insertAt(0, labelsOnlyMapType);
    

    我只是按照我认为应该在这里发生的事情去做,但你应该最终得到的是

    • 底部的瓷砖作为基本地图
    • StyledMapType标签仅显示在地图顶部