我正在努力在google maps api v3中获得一个小游戏,一个简单的“Drag'n'drop”标记(浪费)放入正确的容器(所以另一个标记)。
这是我到目前为止所做的http://www.nadersafwan.site90.net/minijeu.html
这是我的成就:我设法将所有地图参数用于创建点、8 个固定点和 1 个可拖动点,为我的可拖动标记设置随机位置,我设置了超时和点,...
我现在想要的是创建一种循环,它清除旧标记(具有已定义的属性)并显示另一个标记(具有他自己的图像和名称):每次这些变量在两者(移动和固定标记)和一定距离。
所以我需要: 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”数组中的浪费类型,可能是用前面的脚本实现以获得不同的可拖动标记?