2016-07-21 2 views
1

У меня есть 90% того, что я хотел:Карта показывает различные точки в зависимости от того, что видно

https://jsfiddle.net/ruwez7tq/

Все, что я хочу сделать, это изменить построенные точки, которые показаны в зависимости от которых список виден , На данный момент видны только точки первого списка («бары»). Несмотря на то, что это точки загрузки страницы defualt, когда вы нажимаете, например, «Рестораны», пронумерованные точки должны обновляться в этих местах.

Это является JS У меня есть, что участки точки и меняет цвет независимо один щелкают, (когда обе точки или элемент списка нажали):

for (i = 0; i < bars.length; i++) { 
    marker = new google.maps.Marker({ 
     position: new google.maps.LatLng(bars[i][1], bars[i][2]), 
     map: map, 
     label: String(bars[i][3]), 
    }); 
    gmarkers.push(marker); 
    google.maps.event.addListener(marker, 'click', (function(marker, i) { 
     return function() { 
      infowindow.setContent(bars[i][0]); 
      infowindow.open(map, marker); 
      for (j = 0; j < gmarkers.length; j++) { 
       gmarkers[j].setIcon(""); 
      } 
      marker.setIcon("imgs/green.png"); 
     } 
    })(marker, i)); 
} 

$('#bars-list li').each(function(i, e) { 
    $(e).click(function(i) { 
     return function(e) { 
      google.maps.event.trigger(gmarkers[i], 'click'); 
     } 
    }(i)); 
}); 

У меня есть 90% того, что Я хотел бы:

https://jsfiddle.net/ruwez7tq/

Все, что я хочу сделать, это изменить построенные точки, которые показаны в зависимости от которых список виден. На данный момент видны только точки первого списка («бары»). Несмотря на то, что это точки загрузки страницы defualt, когда вы нажимаете, например, «Рестораны», пронумерованные точки должны обновляться в этих местах.

Это является JS У меня есть, что участки точки и меняет цвет независимо один щелкают, (когда обе точки или элемент списка нажали):

Я пытаюсь работать, как обобщать это для каждого списка и как его использовать для обновления карты в зависимости от того, какой список виден ?!

Заранее благодарю за помощь!

+0

В вас код при нажатии кнопки на категорию, которую вы должны вызвать функцию, которая скрывает видимые маркеры, и показывать связанные маркеры. к категории. – scaisEdge

+0

Вы хотите объединить все 2D-массивы в один большой массив? – hrtestrt

+0

Сначала у вас должна быть функция щелчка в категории div, которая запускает функцию. Second .. вы создали только маркеры для баров. Вместо этого вы должны, например: создать маркеры для всех и сделать видимыми только связанные маркеры. . к выбранной категории. третий. Когда вы выберете категорию, вы должны скрыть все маркеры .. и показать только маркеры, относящиеся к выбранной категории. – scaisEdge

ответ

0

нечто вроде этого (убедитесь, что вы поместили функции и глобальные ВАР в окне объема)

для Javascript

function hide_show(category){ 
    for (i = 0; i < amenities.length; i++) { 
    gmarkers[i].setMap(null); 
     if amenities[3] = category { 
     gmarkers[i].setMap(map); 
     } 
    } 
} 

для HTML

<div id="bars-list" class="lists" onclick"hide_show('bars');">  
+0

Спасибо за это. Я реализовал его, но он не работает! : https://jsfiddle.net/ruwez7tq/10/ – hrtestrt

Смежные вопросы