点击事件标记地图

时间:2015-04-27 14:08:06

标签: angularjs google-maps ionic-framework

我正在加载一个数组中带有不同标记的地图。我需要为每个人生成click事件并显示消息,气球或其他内容。尝试下面的代码块,但不要让我离开我的代码。

测试:

google.maps.event.addListener(marker, 'click', function() {
  map.setZoom(8);
  map.setCenter(marker.getPosition());
});

我的代码:

<map center="{{latitud}}, {{longitud}}" zoom="12" id="map_views">
              <div id="class" ng-repeat="marker in markers | orderBy : 'title'">
                  <marker position="{{marker.latitud}}, {{marker.longitud}}" />
              </div>
          </map>

控制器:

.controller('MisViewsCtrl',   function($scope,$ionicNavBarDelegate,$timeout,$location,$ionicPlatform,$ionicLoading, $compile){

  $scope.views = [
      {
      id : 0,
      nombre : 'Problema con cableado',
      fecha : '18/05/2014 a las 15:17',
      estado : 'En revisión',
      latitud : -33.3995448,
      longitud : -70.5705277,
      img : 'img/cables.JPG',
      comentario : 'Exiten problemas en el cableado, estan sueltos y es peligroso. Concurre mucha gente por ese lugar.',
      clase : 'label_estado label-warning'
  },
  {
      id : 1,
      nombre : 'Poste en mal estado',
      fecha : '09/11/2013 a las 20:45',
      estado : 'Solucionado',
      latitud : -33.4024754,
      longitud : -70.5919616,
      img : 'img/poste.jpeg',
      comentario : 'El poste esta a punto de caer, se encuentra en una calle muy concurrida por personas y automóviles.',
      clase : 'label_estado label-success'
  },
  {
      id : 2,
      nombre : 'Cañeria rota',
      estado : 'Falta información',
      fecha : '03/03/2012 a las 12:13',
      latitud : -33.406975,
      longitud : -70.57283,
      img : 'img/caneria.jpg',
      comentario : 'Esta rota y oxidada, corre agua por todo el lugar.',
      clase : 'label_estado label-info'

  }
 ];
    $scope.markers = [];
    $scope.createMarker = function(info){
        $scope.markers.push(info); 
    }  

    for (i = 0; i < $scope.views.length; i++){
        $scope.createMarker($scope.views[i]);
    }
})

1 个答案:

答案 0 :(得分:1)

我认为你只是削减了事件

    google.maps.event.addListener(marker, 'click', function() { map.setZoom(8);
  map.setCenter(marker.getPosition());
    });

循环标记数组 试试this demo 来自geocodezip