我正在努力在google maps api v3中制作一个小游戏,这是一个简单的“Drag'n'drop”标记(浪费)放入正确的容器(所以另一个标记)。
这是我到目前为止所做的事情http://www.nadersafwan.site90.net/minijeu.html
这是我的成就: 我设法把所有的地图参数 创建点,8个固定点和1个可拖动, 我的可拖动标记有一个随机位置, 我设置了超时和积分,......
我现在想要的是创建一种循环,它清除旧标记(具有已定义的属性)并显示另一个标记(具有自己的图像和NAME):每次这些变量对应时都可以执行(移动和固定标记)并且在一定距离内。
所以我需要: 1 - 一个函数,表示在距离的XY px处,如果标记的类型是相同的类型,然后创建一个清除旧标记属性的循环并给出具有新属性的新标记
2 - 设计随机类型的废物并为可拖动标记提供相关属性(图像和名称)的功能
我有什么: 1 - 标记之间的距离(欧几里德距离):google.maps.event.addListener(marker, 'dragend', function() {
for (var i = 0; i < point_tab.length; i++) {
if (i in point_tab) {
var d = point_tab[i];
var dlat = d.coords.lat();
var dlng = d.coords.lng();
var dist = Math.sqrt( Math.pow(lat - dlat, 2) + Math.pow(lng - dlng, 2) );
console.log(dist);
for (i in types_dechets) {marker.setIcon(point_tab[i].image)}
if (dist < 0.01) {
alert("youpie");
clearOverlays();
marker.setMap(map);
}
}
}
if (dechetterie_trouvee == false) {
alert("pollueur");
}
}
我需要的是在'point_tab'数组中在dragableMarker的值和已定义为“point_tab [n] .nom”变量的fixMarkers之间添加变量对抗。 在这里,我使用'clearoverlays()'函数来清除标记,但'marker.setMap(map)'只给我一个不同的图像一次,我希望每次我的标记清除时它都会改变
2 - 对于随机废物类型的选择,我尝试了这个:
for (n in point_tab) {
var random_type_dechet = function() {
var randomIndex = Math.floor(Math.random() * point_tab[n].length);
return point_tab[randomIndex].image;
}
}
我真的不太了解这一点,但是,它可能随机改变'point_tab'数组中的浪费类型,可能是用前一个脚本实现的,总是得到一个不同的dragableMarker?