我是 google 地图 API 的新手。我为我的手机编写了一个小应用程序,可以定期将其位置更新到 SQL 数据库。
我想在我的浏览器中的谷歌地图上显示此信息。理想情况下,我想定期轮询数据库,如果有任何新的坐标到达,请将它们添加到行中。
描述它的最好方式是this.
为了实现这一目标,我开始在谷歌上查找文档并不断修改它们以尝试实现我想要的效果。它不起作用 - 我不知道为什么。我希望得到一些关于原因的建议,并且非常欢迎任何指向我最终目标的指示。
Google 地图 AJAX + MySQL/PHP 示例
<script type="text/javascript">
//<![CDATA[
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(47.614495, -122.341861), 13);
GDownloadUrl("phpsqlajax_genxml.php", function(data) {
var xml = GXml.parse(data);
var line = [];
var markers = xml.documentElement.getElementsByTagName("points");
for (var i = 0; i < points.length; i++) {
var point = points.item(i);
var lat = point.getAttribute("lat");
var lng = point.getAttribute("lng");
var latlng = new GLatLng(lat, lng);
line.push(latlng);
if (point.firstChild) {
var station = point.firstChild.nodeValue;
var marker = createMarker(latlng, station);
map.addOverlay(marker);
}
}
var polyline = new GPolyline(line, "#ff0000", 3, 1);
map.addOverlay(polyline);
});
}
//]]>
我的 php 文件正在生成以下 XML;
<?xml version="1.0" encoding="UTF-8" ?>
<points>
<point lng="-122.340141" lat="47.608940"/>
<point lng="-122.344391" lat="47.613590"/>
<point lng="-122.356445" lat="47.624561"/>
<point lng="-122.337654" lat="47.606365"/>
<point lng="-122.345673" lat="47.612823"/>
<point lng="-122.340363" lat="47.605961"/>
<point lng="-122.345467" lat="47.613976"/>
<point lng="-122.326584" lat="47.617214"/>
<point lng="-122.342834" lat="47.610126"/>
</points>
我已经成功地解决了这个问题;http://code.google.com/apis/maps/articles/phpsqlajax.html在尝试自定义代码之前。
有什么指点吗?我哪里出错了?