【发布时间】:2017-10-18 21:24:00
【问题描述】:
试图做简单的事情,但似乎有些东西把它扔掉了。只想从网页加载 KML 文件。
因此,我在 Google 地球中制作了一个非常简单的 KML 文件,上面有一个地标,将其保存并上传到我们的定向运动俱乐部网站(如果有任何不同,则托管在 GoDaddy 上)。然后,我从KML Layers 网页复制了 html 代码并将其加载到我的网站上并更改了关键代码 - 工作正常。
接下来我所做的就是更改纬度/经度位置值,然后列出我自己的 kml 文件、完整 URL ......它会拉出一张地图,居中,但没有地标。确认!
我已阅读并想知道是否需要在服务器端执行某些操作才能读取 KML?由于它是 GoDaddy 主机,如果这是问题,我无法控制它。
KML 只列出了一个地标,我已经阅读了 Google 地图架构,这一切似乎都是合法的。反正就是这样。
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document>
<name>Test1</name>
<Style id="s_ylw-pushpin">
<IconStyle>
<scale>1.3</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>
</Icon>
<hotSpot x="20" y="2" xunits="pixels" yunits="pixels"/>
</IconStyle>
</Style>
<Placemark>
<name>testmark</name>
<styleUrl>#s_ylw-pushpin</styleUrl>
<Point>
<gx:drawOrder>1</gx:drawOrder>
<coordinates>-73.20975393157571,44.46282408596932,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>
如前所述,我只是使用 KML 图层网页中完全相同的文本,并将位置更改为我的纬度/经度(工作),但从未找到 kml 文件。 “…… var ctaLayer = 新的 google.maps.KmlLayer({ 网址:“http://www.gmoclub.org/kml/8gove3.kml”, 地图:地图 ……”
也曾在多个浏览器中尝试过。 IE 使用无法清除 Active X 控件的消息栏阻止它,Chrome 和 Firefox 显示空白地图。
当我尝试了几个 jsfiddle 选项时,添加 KML 链接时总是失败。
完整链接我做错了什么?!有什么概念吗?很抱歉成为这样的人,但是......它发生了。
【问题讨论】:
-
你检查过服务器的内容类型(mime-type)吗?有时,当您将文件发布到文件服务器时,URL 是指向通过 JavaScript 而不是 KML 内容本身自动加载内容的网页。您是否验证了 URL 是内容 - 首先尝试使用 cURL 之类的方法来获取 URL。
标签: javascript google-maps google-maps-api-3 kml godaddy-api