Javascript OpenLayers:两个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();

我有一个GPX轨迹(Startpoint==Endpoint)转换为GeoJSON。
我现在想在地图上显示此轨迹,其中仅显示由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));

在图片中显示您想要的内容。