Javascript OpenLayers:两个GeoJSON层,两个层上都有一个透明层
我有一个GPX轨迹(Startpoint==Endpoint)转换为GeoJSON。Javascript OpenLayers:两个GeoJSON层,两个层上都有一个透明层,javascript,openlayers,geojson,gpx,rectangles,Javascript,Openlayers,Geojson,Gpx,Rectangles,我有一个GPX轨迹(Startpoint==Endpoint)转换为GeoJSON。 我现在想在地图上显示此轨迹,其中仅显示由trac封闭的地图。其余的应该是白色的 到目前为止,我有以下几点: <script type="text/javascript"> function init() { map = new OpenLayers.Map("basicMap"); var mapnik = new OpenLayers.Layer.OSM();
我现在想在地图上显示此轨迹,其中仅显示由trac封闭的地图。其余的应该是白色的 到目前为止,我有以下几点:
<script type="text/javascript">
function init() {
map = new OpenLayers.Map("basicMap");
var mapnik = new OpenLayers.Layer.OSM();
var fromProjection = new OpenLayers.Projection("EPSG:4326");
var toProjection = new OpenLayers.Projection("EPSG:900913");
var position = new OpenLayers.LonLat(13.41,52.52).transform( fromProjection, toProjection);
var zoom = 7;
map.addLayer(mapnik);
map.setCenter(position, zoom );
geojson_layer = new OpenLayers.Layer.Vector("GeoJSON", {
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "tracks.json",
format: new OpenLayers.Format.GeoJSON()
})
});
map.addLayer(geojson_layer);
}
</script>
函数init(){
map=新的OpenLayers.map(“basicMap”);
var mapnik=new OpenLayers.Layer.OSM();
var fromProjection=新OpenLayers.Projection(“EPSG:4326”);
var TopProjection=新OpenLayers.投影(“EPSG:900913”);
var位置=新OpenLayers.LonLat(13.41,52.52).转换(从投影到投影);
var=7;
map.addLayer(mapnik);
地图设置中心(位置、缩放);
geojson_layer=新的OpenLayers.layer.Vector(“geojson”{
策略:[新建OpenLayers.Strategy.Fixed()],
协议:新OpenLayers.protocol.HTTP({
url:“tracks.json”,
格式:新建OpenLayers.format.GeoJSON()
})
});
map.addLayer(geojson_层);
}
tracks.json是带有trac的GeoJSON文件
基本上,现在我想要一个围绕trac的矩形。trac和矩形之间的空间应填充为白色
谢谢你的帮助 实际上,这就像声明一个包含两个坐标对象的多边形一样简单。一个用于矩形,一个用于轨迹:
var border = {
"type": "Feature",
"properties": { },
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
Coordinates of Rectangle
]
],
[
[
Coordinates of the track
]
]
]
}
}
我在javascript中包含以下内容:
<script type="text/javascript" src="border.js"></script>
.
.
var geojson_format = new OpenLayers.Format.GeoJSON({
'internalProjection': toProjection,
'externalProjection': fromProjection
});
map.addLayer(vectorLayer);
vectorLayer.addFeatures(geojson_format.read(border));
.
.
var geojson_format=new OpenLayers.format.geojson({
“内部投影”:TopProjection,
“外部投影”:fromProjection
});
map.addLayer(矢量层);
addFeatures(geojson_格式.read(border));
在图片中显示您想要的内容。