2016-03-28 3 views
0

Я пытался подключить представление списка, которое у меня есть в привязке данных foreach через нокаут с моими маркерами google, я пробовал.Соединительный список в knockout.js с маркерами карт

//Click on item in list view 
    self.listViewClick = function(list) { 
     if (this.name) { 
      map.setZoom(15); 
      map.panTo(this.latlng); 
      list.setAnimation(google.maps.Animation.BOUNCE); 
     } 

    }; 

Я попытался сменить аргумент «список» на себя, этот и маркер. Я могу получить только последний маркер карты, когда я нажму на него в списке, когда он установлен в маркер.

Я знаю, что чего-то не хватает, но я не могу понять, что до сих пор?

Вот мой прогресс до сих пор»

https://github.com/cperry24/interactive-map

Благодаря

ответ

0

Вы проблема была простой. - Я бросил свой код здесь - http://codepen.io/dmoojunk/pen/KzXGKq

Вам просто нужно использовать который был передан. Вы передаете его как «список» здесь, но ваш оператор if не использует его ... По умолчанию все события кликов с нокаутом передают контекст щелчка в качестве первого параметра, так как это приближающийся m ваш список, он передает элемент списка - в этом случае объект спортзала.

self.listViewClick = function(gym) { 
if (gym.name) { 
    map.setZoom(15); 
    map.panTo(gym.latlng); 
    gym.marker.setAnimation(google.maps.Animation.BOUNCE); 
    infoWindow.open(map, gym.marker); 
} 

Я хотел бы узнать о видимости переменной в Javascript - он будет отвечать на ваши вопросы, вокруг того, что «это», почему люди используют «уага себя = это;» и т.д.