Tag: 地理信息系统

使用Google地图加载本地.kml文件?

我创build了一个hello世界程序来加载一个本地的kml文件(借用谷歌的文档): var ctaLayer = new google.maps.KmlLayer("http://localhost:8080/kml/cta.kml"); 这不起作用(没有得到加载)。 但是,当我将该行更改为: var ctaLayer = new google.maps.KmlLayer("http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml"); 它正确加载。 两个kml文件是相同的。 当我自己提供服务时,我需要做些什么来加载它? (我尝试了绝对path和相对path,我知道我使用的path是正确的…) 此外,我添加了正确的MIMEtypes到我的应用服务器的configuration文件: <mime-mapping> <extension>kml</extension> <mime-type>application/vnd.google-earth.kml+xml</mime-type> </mime-mapping> <mime-mapping> <extension>kmz</extension> <mime-type>application/vnd.google-earth.kmz</mime-type> </mime-mapping> 但它仍然无法加载。 我在google的文档中发现了这个: Google Maps API支持显示地理信息的KML和GeoRSS数据格式。 这些数据格式使用KmlLayer对象显示在地图上,其构造函数采用可公开访问的KML或GeoRSS文件的URL。 所以我想我要做的事情是不可能的,除非公众可以访问的url提供kml,除非有人可以certificate