【发布时间】:2011-11-24 17:54:47
【问题描述】:
我的 Google 地图配置为显示蓝色位置标记。
我的地图使用以下 .kml 文件(只是描述地点的 xml 数据,通过 Google Maps API 显示蓝色位置标记),我使用普通的旧 XMLHttpRequest 对象加载该文件。
我的问题是,当我从“http://xyz.com/kumedplaces.kml”等外部源加载 .kml 文件时,它可以工作,但是当我存储它并尝试从我的 sitecore 网站运行的本地服务器,Google 地图对象不会加载/显示地图上的蓝色位置标记。
以下是从 .kml 文件加载地址后我在 .js 文件中所做的操作:
<div id="map" style="width: 400px; height: 300px"></div>
var kmlUrl = "http://xyz.com/kumedplaces.kml"; works
var kmlUrl = "/js/heart/kumedplaces.kml"; doesn't work
var geoXml = new GGeoXml(kmlUrl);
map.addOverlay(geoXml);
顺便说一下,我仔细检查了我的本地文件以确保我的本地 .kml 文件加载正确
我的 .kml 文件示例:
<?xml version="1.0" encoding="utf-8" ?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<name>University of Kansas Hospital Locations</name>
<description>The various buildings around the city that comprise the University of Kansas Hospital</description>
<Style id="randomColorIcon">
<IconStyle>
<color>ff00ff00</color>
<colorMode>random</colorMode>
<scale>1.1</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pal3/icon21.png</href>
</Icon>
</IconStyle>
</Style>
<Placemark id="kumed">
<name>The University of Kansas Hospital</name>
<description>
Part of the Kansas University Medical Center complex.
3901 Rainbow Blvd, Kansas City, KS 66160
</description>
<address>3901 Rainbow Blvd, Kansas City, KS 66160</address>
<phonenumber>xxxxxxx</phonenumber>
<ExtendedData></ExtendedData>
<!--<styleUrl>#randomColorIcon</styleUrl>-->
<Point>
<coordinates>-94.608800,39.0558241</coordinates>
</Point>
</Placemark>
</Document>
</kml>
【问题讨论】:
标签: xml ajax google-maps xmlhttprequest sitecore