我在使用OpenLayers显示kml图层时遇到问题。
下面是我的kml文件Light.kml:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.0">
<Folder>
<open>1</open>
<visibility>1</visibility>
<GroundOverlay>
<name>2013-05-15 12:00:00Z</name>
<visibility>1</visibility>
<Icon><href>http://localhost/graphics/Light_0.jpg</href></Icon>
<LatLonBox>
<north>9.4896821975708</north>
<south>-66.0149154663086</south>
<east>197.33328247070312</east>
<west>90.69839477539062</west>
</LatLonBox>
<TimeStamp><when>2013-05-15T12:00:00Z</when></TimeStamp>
</GroundOverlay>
</Folder>
</kml>
</xml>
下面是OpenLayers javascript代码:
var map = new OpenLayers.Map({
div: "map",
layers: [
new OpenLayers.Layer.WMS(
"WMS", "http://vmap0.tiles.osgeo.org/wms/vmap0",
{layers: "basic"},
{wrapDateLine: true}
)
],
center: new OpenLayers.LonLat(140,-30),
zoom: 3
});
var light = new OpenLayers.Layer.Vector("Light", {
strategies: [new OpenLayers.Strategy.Fixed()], protocol: new OpenLayers.Protocol.HTTP({
url: "graphics/Light.kml",
format: new OpenLayers.Format.KML({
extractStyles: true,
extractAttributes: true
})
})
});
map.addLayers([light]);
地图显示,但未显示kml图层。有没有人知道可能出了什么问题?
发布于 2013-05-17 12:18:18
也许添加到您的代码中:
light.setVisibility(true);
map.addLayer(light);
在我看来,您的代码中有一个拼写错误,请只尝试使用map.addLayer。或者使用下面的结构可以做到这一点
var map = new OpenLayers.Map({
div: "map",
layers: [
new OpenLayers.Layer.WMS(
"WMS", "http://vmap0.tiles.osgeo.org/wms/vmap0",
{layers: "basic"}
),
new OpenLayers.Layer.Vector("KML", {
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "kml/lines.kml",
format: new OpenLayers.Format.KML({
extractStyles: true,
extractAttributes: true,
maxDepth: 2
})
})
})
],
center: new OpenLayers.LonLat(-112.169, 36.099),
zoom: 11
});
发布于 2013-05-17 10:11:44
尝试删除策略: new OpenLayers.Strategy.Fixed()
发布于 2013-05-19 12:20:12
这个怎么样:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.0">
<Folder>
<open>1</open>
<visibility>1</visibility>
<GroundOverlay>
<name>2013-05-15 12:00:00Z</name>
<visibility>1</visibility>
<Icon><href>http://localhost/graphics/Light_0.jpg</href></Icon>
<LatLonBox>
<north>9.4896821975708</north>
<south>-66.0149154663086</south>
<east>197.33328247070312</east>
<west>90.69839477539062</west>
</LatLonBox>
<TimeStamp><when>2013-05-15T12:00:00Z</when></TimeStamp>
</GroundOverlay>
</Folder>
</kml>
我的朋友,这样行吗?
https://stackoverflow.com/questions/16589573
复制相似问题