Doe是否存在从OSM地图中删除所有业务的方法?还有商店,酒吧,修复,酒店等。
我希望使用信息较少的地图。是否可以从原始OSM服务器执行此操作?也许像URL中的选项或其他东西?我使用Leaflet库作为我的项目,可能还有一些选项吗?
我希望在GMAPS API中使用它:
new google.maps.Map(map_div,{
styles:[{
elementType:'all',
featureType:'poi',
stylers:[{
visibility:'off'
}]
}]});
通过JS或额外的URL,所以左右,但没有任何业务。
答案 0 :(得分:1)
答案简短:不。
您在openstreetmap.org上看到的地图由静态PNG图像组成。你无法影响它们的生成方式。
但是,OpenStreetMap并不是真正意图向最终用户提供地图。该项目的主要产品是您可以从planet.osm.org下载的原始地图数据,而不是您在浏览器中看到的地图。
您可以做的是下载原始地图数据并渲染您自己的地图,而不包含任何业务。使用整个行星转储是一种压倒性的,但您可以从几个不同的提供商下载OSM数据的较小摘录(状态或在某些情况下是城市级别)。有关详细信息,请参阅the OSM wiki。
获得数据后,您可以使用多种不同的工具进行渲染。我刚才写了一篇关于使用Maperitive渲染切片的blog post。还有Tilemill,可能还有其他一些我现在没有想到的。
答案 1 :(得分:0)
我们可以使用没有标签或图标的地图,您可以在此站点中找到许多选项: https://wiki.openstreetmap.org/wiki/Tile_servers
维基中使用的地图: https://www.trailnotes.org/FetchMap/TileServeSource.html
您可以将网址用作以下脚本:
**JS Script using Leaflet**
//No labels
var tiles = L.tileLayer('https://c.tiles.wmflabs.org/osm-no-labels/{z}/{x}/{y}.png', {
maxZoom: 18,
attribution: '© <a href="https://www.openstreetmap.org /copyright">OpenStreetMap</a> contributors'
}),
latlng = new L.LatLng(34.5, 36.55);
//No Icons
var roads = L.tileLayer("http://tile.memomaps.de/tilegen/{z}/{x}/{y}.png", {
maxZoom: 20,
});
var media = L.tileLayer("https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png", {
maxZoom: 20,
});
var map = new L.Map('map', {center: latlng, zoom: 15, layers: [tiles]});
var basemaps = {
'tiles':tiles,
'roads':roads,
'media':media,
};
L.control.layers(basemaps).addTo(map);