通过javascript过滤Google地图标记

时间:2018-02-16 13:31:44

标签: javascript xml google-maps filter

我目前正在尝试创建可以在Google地图上制作标记的过滤器&出。 lat / lng都存储在数据库中。然后我将其解析为XML文档,以便Google地图可以解释存储在我的数据库中的所有内容并将它们绘制到地图上。这非常有效。

但是我现在想要创建过滤器,这些过滤器可以从地图中过滤我的标记,就像名称一样简单。

阅读XML文档的代码如下:

doctrine:schema:update --force

将标记绘制到地图上的代码就是:

downloadUrl('php2xml.php', function(data) {
            var xml = data.responseXML;
            var markers = xml.documentElement.getElementsByTagName('marker');
            Array.prototype.forEach.call(markers, function(markerElem) {
              var id = markerElem.getAttribute('id');
              var name = markerElem.getAttribute('name');
              var address = markerElem.getAttribute('address');
              var type = markerElem.getAttribute('type');
              var point = new google.maps.LatLng(
                  parseFloat(markerElem.getAttribute('lat')),
                  parseFloat(markerElem.getAttribute('lng')));

我尝试过以下但是无法让它发挥作用! :

var marker = new google.maps.Marker({
                map: map,
                position: point
              });

1 个答案:

答案 0 :(得分:0)

您的评论建议您多次拨打downloadUrl,以便继续添加标记,但不要删除那些标记。

数组markers可能设置为downloadUrl的最后结果,因此之前的所有结果都不存在,因此您无法改变它们以隐藏它们。

不确定你想要什么,但可能应该在使用downloadUrl的结果添加标记之前移除所有标记,或者使用Array.prototype的concat来添加{{1}的其他结果}}

downloadUrl