问题:
目标:
环境:
所做的事:
KML文件:
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>python文件:
#!/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文件的格式或其他原因。我错过了什么?
发布于 2014-12-14 18:38:39
如果希望执行将在其中生成KML的脚本,则脚本必须由web服务器(例如Apache)承载。
如果您在不涉及任何web服务器的情况下从文件系统本地访问python脚本,那么Google将尝试将viewCenteredPlacemark.py文件作为KML文本文件获取,而不是以python脚本的形式执行。这将不会被解析为KML,也不会显示任何内容。如果打开Google中的错误处理,那么您将看到一个解析错误。
只是需要一个轻量级的web服务器来调用python脚本,比如Apache httpd。有许多教程可以将web服务器配置为运行python脚本。
示例:
https://stackoverflow.com/questions/27465795
复制相似问题