PHP / MySQL的Google Maps Tutorial无法正常运行

时间:2013-01-11 18:20:17

标签: google-maps-api-3

在这个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函数。

我的问题,如果您还没有猜到,为什么不能根据教程说的方式不能正常工作?

思考?要检查的事情?一个解决方案?

感谢所有帮助解决这些简单问题的优秀人才。

1 个答案:

答案 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与上面指出的教程混合在一起。

Map

编辑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