【问题标题】:How can I disable transit layer on Google Maps?如何禁用谷歌地图上的交通层?
【发布时间】:2019-11-30 09:41:36
【问题描述】:

在 Google 地图中,交通图层默认显示。我希望能够禁用它,就像在谷歌地图应用程序中一样。

我找不到这样做的选项。我已经看到了交通、室内、建筑物的选项,但没有公交或自行车层的选项。

【问题讨论】:

  • “中转层”是指公共交通站点还是别的什么?
  • 运输层是指地图上显示的地铁/地铁轨道
  • 你可以使用map styling

标签: android google-maps google-maps-api-2


【解决方案1】:

它不能被禁用,但可以隐藏起来,见:Hiding Map Features with Styling

您只需要找出要设置哪个featureType 的样式...

transit                 // selects all transit stations and lines.
transit.line            // selects transit lines.
transit.station         // selects all transit stations.
transit.station.airport // selects airports.
transit.station.bus     // selects bus stops.
transit.station.rail    // selects rail stations.

【讨论】:

  • 哇,这太棒了。我在这里创造了一种新的风格。 mapstyle.withgoogle.com 从来不知道这是可能的。这对我来说是一个游戏规则改变者!谢谢你马丁!
【解决方案2】:

您可以通过custom map style 隐藏中转层(中转标记)。您可以使用wizard 创建您自己的带有隐藏交通标记的地图样式:

然后将 JSON 复制粘贴到 map_style.xml 文件到项目的 raw 文件夹中:

然后将地图样式应用于您的地图:

@Override
public void onMapReady(GoogleMap googleMap) {
    mGoogleMap = googleMap;

    try {
        // Customise the styling of the base map using a JSON object defined
        // in a raw resource file.
        boolean success = mGoogleMap.setMapStyle(
                MapStyleOptions.loadRawResourceStyle(
                        this, R.raw.map_style));

        if (!success) {
            Log.e(TAG, "Style parsing failed.");
        }
    ...
}

【讨论】:

    猜你喜欢
    • 2018-12-17
    • 1970-01-01
    • 2015-10-17
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多