问题:
目标:
环境:
做了什么:
The KML file:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Folder>
<name>Network Links</name>
<visibility>0</visibility>
<open>0</open>
<description>Network link for FPG </description>
<NetworkLink>
<name> NTFPG </name>
<visibility>0</visibility>
<open>0</open>
<description> The flight path generator </description>
<refreshVisibility>0</refreshVisibility>
<flyToView>0</flyToView>
<Url>
<href>viewCenteredPlacemark.py</href>
</Url>
</NetworkLink>
</Folder>
</kml>
#!/usr/bin/python
kml = (
'<?xml version="1.0" encoding="UTF-8"?>\n'
'<kml xmlns="http://www.opengis.net/kml/2.2">\n'
'<Placemark>\n'
'<name>Flight Path Generator</name>\n'
'<Point>\n'
'<coordinates>%.6f,%.6f</coordinates>\n'
'</Point>\n'
'</Placemark>\n'
'</kml>'
) %(-77.864,38.4556)
print 'Content-Type: application/vnd.google-earth.kml+xml\n'
print kml
我想显示相同的位置并看到网络链接上的绿点,但它是红色的,所以显然没有解析,无论是由于KML文件的格式还是其他原因。我错过了什么?
答案 0 :(得分:1)
如果要执行将生成KML的脚本,则脚本必须由Web服务器(例如Apache)托管。
如果您在没有任何Web服务器的情况下从文件系统本地访问python脚本,那么Google地球将尝试将 viewCenteredPlacemark.py 文件作为KML文本文件提取,而不是作为python脚本执行。这不会被解析为KML,也不会显示任何内容。如果在Google地球中启用错误处理,您将看到解析错误。
只需要一个可以调用python脚本的轻量级Web服务器,例如Apache httpd。 有许多教程可以配置Web服务器来运行python脚本。
示例: