【发布时间】:2018-02-13 10:08:43
【问题描述】:
所以我按照Google Map API的文档来实现它。
但我不想显示地图,而是希望它不可见,但我的位置仍然显示在它应该包含标记的位置。
可以吗?怎么样?
我找到了一个类似的question,但已经一年了,我想也许已经有了解决方案。
【问题讨论】:
标签: android google-maps google-maps-api-3
所以我按照Google Map API的文档来实现它。
但我不想显示地图,而是希望它不可见,但我的位置仍然显示在它应该包含标记的位置。
可以吗?怎么样?
我找到了一个类似的question,但已经一年了,我想也许已经有了解决方案。
【问题讨论】:
标签: android google-maps google-maps-api-3
实际上你不能这样做,因为这违反了 Google 政策:
没有 Google 地图就不能使用内容。除非 Maps API 文档明确允许您这样做,否则您不会在没有相应 Google 地图的情况下在 Maps API 实施中使用内容。例如,您可以在没有相应 Google 地图的情况下显示街景图像,因为 Maps API 文档明确允许这种用途。
不得使用非 Google 地图的内容。您不得在包含非 Google 地图的 Maps API 实施中使用内容。
检查此项以确保您的应用没有违反任何 Google 条款 https://developers.google.com/maps/terms#10-license-restrictions
【讨论】:
您可以使用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。
【讨论】: