我从映射开始。我想查看一张法国地图,上面有一层可以个性化的图片。
我已经拥有shapefile格式的自定义图层。 我完全不知道是否必须创建一个OpenStreetMap服务器,或者我是否可以直接使用Web应用程序。
您能否给我一个使用我的额外图层shapefile格式进行地图显示的起点?
我猜这个任务很复杂,但你必须从......开始......
非常感谢
答案 0 :(得分:7)
这取决于你想做什么。它是一个很大的Shapefile吗?
您可以在创建openlayers地图时执行以下操作:
答案 1 :(得分:2)
如果您希望在shapefile图层上添加OpenStreetMap(OSM),只需添加以下代码行,
var osm = new OpenLayers.Layer.OSM();
map.addLayer(osm);
虽然我不明白,为什么你需要为?
创建一个OpenStreetMap服务器答案 2 :(得分:1)
你自己need not to create OpenStreetMap server
如果您想在地图上显示自定义图层,请使用google or openstreetmap
作为基础图层
并在地图上显示您的图层(来自表单形状文件)。
答案 3 :(得分:0)
您可以使用gipong/shp2geojson: 首先,将shp文件转换为geojson数据 然后将数据添加到地图中
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());
});