我正在以KML格式创建矢量图层。我在下拉框中有源以避免CORS,但是当我在地图中加载它们时它们没有任何功能。关于这个问题的任何想法都将非常感激。
请参阅下文我是如何做到的。
var layers = [
wms_bmid_pipes = new ol.layer.Vector({
source: new ol.source.Vector({
url: 'https://dl.dropboxusercontent.com/s/ea4qzzuyk5i2mxt /geid_ws-bmid-pipes.kml?dl=0',
format: new ol.format.KML()
})
})
];
由于图层没有显示在地图中,我运行下面的代码来检查它有多少功能(此代码来自开放层网站)。事实证明,在控制台中我得到“更改后计数:0”,这意味着没有任何功能。
wms_bmid_pipes.getSource().on('change', function(evt){
var source = evt.target;
if (source.getState() === 'ready') {
var numFeatures = source.getFeatures().length;
console.log("Count after change: " + numFeatures);
}
});
重点是wms_bmid_pipes包含:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:ns2="http://www.google.com/kml/ext/2.2" xmlns:ns3="http://www.w3.org/2005/Atom" xmlns:ns4="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0">
<Document>
<LookAt>
<longitude>-119.3597596329119</longitude>
<latitude>49.89850519575446</latitude>
<altitude>19983.5008834143</altitude>
<heading>0.0</heading>
<tilt>0.0</tilt>
<range>16147.716881798802</range>
<altitudeMode>clampToGround</altitudeMode>
</LookAt>
<NetworkLink>
<name>bmid-pipes</name>
<visibility>1</visibility>
<open>1</open>
<LookAt>
<longitude>-119.3597596329119</longitude>
<latitude>49.89850519575446</latitude>
<altitude>19983.5008834143</altitude>
<heading>0.0</heading>
<tilt>0.0</tilt>
<range>16147.716881798802</range>
<altitudeMode>clampToGround</altitudeMode>
</LookAt>
<Url>
<href>http://localhost:8080/geoserver/geid_ws/wms?service=wms&request=GetMap&version=1.1.1&format=application/vnd.google-earth.kml+xml&layers=geid_ws:bmid-pipes&styles=line&height=2048&width=2048&transparent=false&srs=EPSG:4326&format_options=AUTOFIT:true;KMATTR:true;KMPLACEMARK:false;KMSCORE:40;MODE:refresh;SUPEROVERLAY:false</href>
<refreshInterval>0.0</refreshInterval>
<viewRefreshMode>onStop</viewRefreshMode>
<viewRefreshTime>1.0</viewRefreshTime>
<viewBoundScale>1.0</viewBoundScale>
</Url>
</NetworkLink>
</Document>
</kml>
答案 0 :(得分:0)
KmlLayer要求公开提供KML。 http://localhost:8080
未公开发布。
<Url>
<href>http://localhost:8080/geoserver/geid_ws/wms?service=wms&request=GetMap&version=1.1.1&format=application/vnd.google-earth.kml+xml&layers=geid_ws:bmid-pipes&styles=line&height=2048&width=2048&transparent=false&srs=EPSG:4326&format_options=AUTOFIT:true;KMATTR:true;KMPLACEMARK:false;KMSCORE:40;MODE:refresh;SUPEROVERLAY:false</href>
<refreshInterval>0.0</refreshInterval>
<viewRefreshMode>onStop</viewRefreshMode>
<viewRefreshTime>1.0</viewRefreshTime>
<viewBoundScale>1.0</viewBoundScale>
</Url>