小编hdd*_*ddd的帖子

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

我创建了一个hello world程序来加载一个本地kml文件(借用谷歌的文档):

var ctaLayer = new google.maps.KmlLayer("http://localhost:8080/kml/cta.kml");
Run Code Online (Sandbox Code Playgroud)

这不起作用(没有任何东西被加载).

但是,当我将该行更改为:

  var ctaLayer = new google.maps.KmlLayer("http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml");
Run Code Online (Sandbox Code Playgroud)

它正确加载.两个kml文件都是相同的.在自己提供服务时,我需要做些什么来加载它?(我尝试了绝对和相对路径,我知道我使用的路径是正确的......)

我还在我的appserver的配置文件中添加了正确的mime类型:

<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>
Run Code Online (Sandbox Code Playgroud)

但它仍然没有加载.

我在谷歌的文档中发现了这个:

Google Maps API支持用于显示地理信息的KML和GeoRSS数据格式.这些数据格式使用KmlLayer对象显示在地图上,该对象的构造函数采用可公开访问的KML或GeoRSS文件的URL.

所以,我想什么,我试图做的是没有可能的,而不从公开访问的网址服务的KML ......除非有人能够证明否则

gis kml kmz google-maps-api-3

52
推荐指数
3
解决办法
7万
查看次数

标签 统计

gis ×1

google-maps-api-3 ×1

kml ×1

kmz ×1