我希望你可以帮助我解决以下问题。因为几天我在修补它,但它不会运行......
我正在编写一个基于谷歌地图API的小型网络应用程序,我可以在地图上用修改后的标记符号标记我的实际位置,依此类推。到目前为止一切都很好。我通过HTML5-Geolocation函数接收我的地理位置,并将值写入mysql数据库。在一个单独的函数中(见下文),我读出了这个数据,并在地图上用我修改过的符号设置了标记。
接下来我要解决的是从地图开始大约40分钟后删除标记。为此,我在我的数据库上创建了一个单独的表,该表填充了主表中的标记信息。这个工作到目前为止,我用PHP脚本和cron-job解决了它。然后,主表中的条目将被删除。让我疯狂的是从地图开始40分钟后删除标记。我尝试了几个方面,从使用“to-remove-table”的数据创建数组,我玩了Google Maps API的setMap-function,但我仍然在线。
这是我的代码,我从数据库中读出数据并在地图上设置标记:
function markPolitesse() {
var infoWindow_spotted = new google.maps.InfoWindow;
downloadUrl("phpsqlajax_genxml2.php", function(data) {
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName("politesse_spotted");
for (var i = 0; i < markers.length; i++) {
var number = markers[i].getAttribute("number");
var city = markers[i].getAttribute("city");
var zipcode = markers[i].getAttribute("zipcode");
var street = markers[i].getAttribute("street");
var type = markers[i].getAttribute("street");
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var html = "<b>" + city + "</b> <br/>" + zipcode + "</b> <br/>" + type + "</b> <br/>";
var marker = new google.maps.Marker({
map: map,
position: point,
title: number,
icon: politessenImage
});
bindInfoWindow(marker, map, infoWindow_spotted, html);
}
});
}
main-和“remove-table”包含以下字段: 号码,城市,邮政编码,街道,街道号码,coordinates_lat,coordinates_lng,时间,日期
我希望你有一种冲动,我会感激...
此致 斯蒂芬
答案 0 :(得分:1)
将标记存储在函数外部的全局变量中,然后在函数中执行以下操作:
marker.setMap(null);
// set up new marker
然后分配新标记。