node.js如何延迟导入模块

时间:2017-01-23 05:05:35

标签: javascript google-maps

我是google-map的新手。我想创建一个地图,当用户点击任何位置时。它将允许用户在地图上放置标记。

我尝试使用map.addEventListener(“click”),这很好用。 mycode:

function initMap() {    
  var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 12
  });


  map.addListener('click', function clickHandler() {
    //do something
  });
}

但是,当用户点击任何地标/ clickableIcon https://imgur.com/a/M3vVu,。

Google-map将显示信息框并忽略clickHandler,https://imgur.com/a/R3uWL。似乎每个landmark / clickableIcon都有event.stopPropagation();

有没有办法启用这两种方法。也就是当用户点击clickableIcon时,它将显示infoBox并将标记放在地图上。

感谢,

1 个答案:

答案 0 :(得分:1)

你可以这样做:

db.contact.aggregate([
         { $sort: { machine_Id: 1, date: 1 } },
         {
           $group:
             {
               _id: "$machine_Id",
               firstDate: { $first: "$date" }
             }
         },
       {
          $project:{
             date:{
                $split:[
                   "$firstDate",
                   "/"
                ]
             }
          }
       },
       {
          $project:{
             date:{
                $concat:[
                   {
                      $arrayElemAt:[
                         "$date",
                         1
                      ]
                   },
                   "/",
                   {
                      $arrayElemAt:[
                         "$date",
                         0
                      ]
                   },
                   "/",
                   {
                      $arrayElemAt:[
                         "$date",
                         2
                      ]
                   }
                ]
             }
          }
       }
    ] ,function(err, meibanlist) {
      if( err || !meibanlist ) console.log("Record not found");
      else meibanlist.forEach (function(machine_Id){
        console.log(machine_Id);
      });
    });