Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript元素_Javascript - Fatal编程技术网

使用Javascript元素

使用Javascript元素,javascript,Javascript,我有一些谷歌地图标记,放在地图上。它们由路由标记id控制。执行此命令时: document.getElementById('rout_markers').style.display = 'none'; 我能够使所有现有的标记从地图上消失,这是我想要的。但如果添加了新标记,我无法通过以下操作将它们添加到rout_markers元素: document.getElementById('rout_markers').value = str; 我的意思是,标记确实出现在地图上,只是不在rout_标记

我有一些谷歌地图标记,放在地图上。它们由路由标记id控制。执行此命令时:

document.getElementById('rout_markers').style.display = 'none';
我能够使所有现有的标记从地图上消失,这是我想要的。但如果添加了新标记,我无法通过以下操作将它们添加到rout_markers元素:

document.getElementById('rout_markers').value = str;
我的意思是,标记确实出现在地图上,只是不在rout_标记id中,我无法在需要时将它们传递给请求。有什么方法可以让新创建的标记再次连接到rout_标记id

在JS中,这是一种普遍接受的做事方法吗

谢谢,
Alex

您应该收集具有已知关键帧的对象中的所有标记,然后找到该标记,然后执行您想要执行的操作

我想,你应该

  • 标记保存地图中所有标记的对象
  • addMarkerToMap向地图添加新标记的函数
  • getMarker获取标记的函数
代码应该是这样的

var markers = {} 变量标记={} var addMarkerToMap=函数(id){ var marker=…//创建一个新标记,并将给定的id参数设置为标记id,并将标记追加到映射 markers[id]=marker;//这将把创建的标记注入markers对象 } var getMarker=函数(id){ 返回标记[id]; }
我认为,你需要发布你的HTML,因为这没有多大意义。需要注意的一点是:“id”值在页面上确实必须是唯一的——如果对多个元素重复使用“id”,则页面无效。“class”属性是您应该用来给元素一个“type”或“category”(或者,我猜是一个“class”)的属性 var addMarkerToMap = function(id) { var marker = ... // create a new marker and set given id argument as marker id and append marker to map markers[id] = marker; // this will inject the created marker to markers Object } var getMarker = function(id) { return markers[id]; }