我从事地图制作。我想查看一幅法国地图,上面覆盖着个性化的图层。
我已经有了自定义的图层,格式为shapefile。
我完全不知道是否必须创建一个OpenStreetMap服务器,还是可以直接使用Web应用程序。
你能给我关于如何在我的额外图层shapefile格式下显示地图的起点吗?
我猜这项任务很复杂,但你必须从某个地方开始...
非常感谢
我从事地图制作。我想查看一幅法国地图,上面覆盖着个性化的图层。
我已经有了自定义的图层,格式为shapefile。
我完全不知道是否必须创建一个OpenStreetMap服务器,还是可以直接使用Web应用程序。
你能给我关于如何在我的额外图层shapefile格式下显示地图的起点吗?
我猜这项任务很复杂,但你必须从某个地方开始...
非常感谢
这要看你想做什么。它是一个大Shapefile吗?
在创建OpenLayers地图时,您可以执行以下操作:
var osm = new OpenLayers.Layer.OSM();
map.addLayer(osm);
虽然我不理解,但为什么您需要创建一个OpenStreetMap服务器呢?
您不需要自己创建一个OpenStreetMap服务器。
如果您想在地图上显示自定义图层,则可以使用google
或openstreetmap
作为底图,并在地图上显示您的图层(来自形状文件)。
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
target: 'map',
view: new ol.View({
center: [0, 0],
zoom: 5
})
});
loadshp({
url: 'demo/10tnvillage.zip',
encoding: 'big5',
EPSG: 3826
}, function(data) {
var feature = new ol.format.GeoJSON().readFeatures(data, {
featureProjection: 'EPSG:3857'
});
var layer = new ol.layer.Vector({
source: new ol.source.Vector({
features: feature
})
});
map.addLayer(layer);
var extent = layer.getSource().getExtent();
map.getView().fit(extent, map.getSize());
});