如何隐藏谷歌地图但显示我的位置包括标记?

时间:2018-02-13 10:08:43

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

所以我按照Google Map API的文档来实现它。

但是我没有显示地图,而是希望它不可见,但我的位置仍然显示在应该包含标记的位置。

能做到吗?如何?

我发现了类似的question,但已经过了一年,我想也许已经有了解决方案。

2 个答案:

答案 0 :(得分:1)

实际上你不能反对谷歌政策:

  

没有Google地图,不得使用内容。除非Maps API文档明确允许您这样做,否则如果没有相应的Google地图,您将不会在Maps API实施中使用内容。例如,您可以在没有相应Google地图的情况下显示街景图像,因为Maps API文档明确允许此用途。

     

不使用非谷歌地图的内容。您不得在包含非Google地图的Maps API实施中使用该内容。

选中此选项可确保您的应用不会破坏任何Google条款https://developers.google.com/maps/terms#10-license-restrictions

答案 1 :(得分:0)

您可以使用styling隐藏您喜欢的任何地图功能。

以下是一个示例地图,其中隐藏了所有内容,并在所有几何体上应用了填充颜色,以便在全球范围内拥有统一的背景。

function initialize() {

  var southWest = new google.maps.LatLng(40.744656, -74.005966);
  var northEast = new google.maps.LatLng(34.052234, -118.243685);
  var lngSpan = northEast.lng() - southWest.lng();
  var latSpan = northEast.lat() - southWest.lat();

  var markers = [];

  var myLatlng = new google.maps.LatLng(38.392303, -86.931067);

  var map = new google.maps.Map(document.getElementById("map"), {
    zoom: 4,
    center: myLatlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP,
    styles: [{
        "elementType": "geometry.fill",
        "stylers": [{
          "color": "#fff050"
        }]
      },
      {
        "elementType": "geometry.stroke",
        "stylers": [{
          "visibility": "off"
        }]
      },
      {
        "elementType": "labels",
        "stylers": [{
          "visibility": "off"
        }]
      }
    ],
    disableDefaultUI: true
  });

  // Create some markers
  for (var i = 1; i < 100; i++) {

    var location = new google.maps.LatLng(southWest.lat() + latSpan * Math.random(), southWest.lng() + lngSpan * Math.random());

    var marker = new google.maps.Marker({
      position: location,
      map: map
    });

    markers.push(marker);
  }
}
#map {
  height: 150px;
}
<script async defer src="https://maps.googleapis.com/maps/api/js?callback=initialize"></script>
<div id="map"></div>

使用disableDefaultUI: true也会删除所有地图控件。右下方的徽标和文字必须保留在法律方面。

This tool可以帮助您达到自己喜欢的效果。

所有这些都记录在案并完全合法。

修改:此示例使用Javascript API(当您使用google-maps-api-3标记问题时),但您可以在Android上实现相同功能,请参阅the documentation。< / p>