在这个Google教程中; “加载XML文件”部分中的https://developers.google.com/maps/articles/phpsqlajax_v3讨论了一个名为“downloadUrl”的函数。它说“url指定XML文件或生成文件的PHP脚本的路径,具体取决于您是否希望在数据库更改时动态更新XML。通常最简单的方法是将其驻留在与HTML,以便您可以通过文件名引用它。“ 问题是,如果我使用一个php url进入该功能它不起作用。如果我直接链接到xml文件,它会。例如,此调用不会将标记放在地图上。
downloadUrl('SCOTAxml.php?lat = 39.4& lng = -94.6& dist = 100',function(data){...
然而,这个电话确实有效。
downloadUrl(“testxml.xml”,function(data){...
我使用SCOTAxml.php程序创建xml,就像在教程中完成的那样。我只是将它复制到testxml.xml后记以测试downloadUrl函数。
我的问题,如果您还没有猜到,为什么不能根据教程说的方式不能正常工作?
思考?要检查的事情?一个解决方案?
感谢所有帮助解决这些简单问题的优秀人才。
答案 0 :(得分:0)
我下载了教程,但由于地图图标无法正确加载。他们的联系已经死了。您需要下载自己的图标。通过单击并保存,可以从Visual Case获取地图中使用的图标。
var customIcons = {
restaurant: {
icon: 'icons/restaurant.png',
shadow: 'icons/restaurant_shadow.png'
},
bar: {
icon: 'icons/bar.png',
shadow: 'icons/bar_shadow.png'
}
};
如评论所示,您正在从SCOTAxml.php
生成有效的XML。
修改强>
这是从教程生成的XML文件,如浏览器所示。
<markers>
<marker name="Frankie Johnnie & Luigo Too" address="939 W El Camino Real, Mountain View, CA" lat="37.386337" lng="-122.085823" type="bar"/>
<marker name="Amici's East Coast Pizzeria" address="790 Castro St, Mountain View, CA" lat="37.387138" lng="-122.083237" type="restaurant"/>
</markers>
我注意到你正在传递phpsqlajax_genxml.php
中不需要的参数(lat,lng&amp; distance)。这将向我表明您正在将教程Creating Store Locator与上面指出的教程混合在一起。
编辑2
要从PHP文件输出XML内容,必须设置content-type标头。这样浏览器就知道PHP文件的输出内容是XML而不是默认的内容类型标题(text / html)。
//Set content-type header for XML
header("Content-type: text/xml");
编辑3 visual-case上的图标页面已移至此处:http://www.lass.it/Web/viewer.aspx?id=4