2015-05-03 6 views
-1

Я пытаюсь присвоить каждый маркер по щелчку событий, но это, кажется, не работаетGoogle карта маркер функция не работает нажмите

На странице у меня есть карты Google и список стран, в которых есть еще один список внутри (я хочу, чтобы, когда я нажимаю на какой-либо маркер, который будет отображаться в раскрывающемся меню).

Мой код для инициализации карты Google:

function initialize() { 
    var mapOptions = { 
     center: centerPos, 
     zoom: zoomLevel 
    }; 

map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions); 

for (var i = 0; i < locations.length; i++) { 
    marker.push(new google.maps.Marker({ 
      position: new google.maps.LatLng(locations[i][1], locations[i][2]), 
      title: locations[i][0], 
      map: map, 
      icon: image, 
      animation: google.maps.Animation.DROP, 
      id: locations[i][3] 
    })); 

google.maps.event.addListener(marker[i], 'click', function() { 
    var id = marker.id; 
    if($("#" + id).parent('li').find('ul').css('display') == 'none'){ 
     $('#country-list li').find('ul').slideUp(); 
     $("#" + id).slideDown(); 
    }else{ 
     $('#country-list li').find('ul').slideUp(); 
    } 

}); 

} 



    } 

И мой код в раскрывающемся списке стран:

<ul id="country-list"> 
        <?php 
        $blogs = wp_get_sites(); 
        foreach($blogs as $blog){ 
         if($blog['blog_id'] == 1){}else{ 
          switch_to_blog($blog['blog_id']); 
          $details = get_blog_details($blog['blog_id']); 
          echo '<li><img src="'.getOption('opt-country-flag')['url'].'" alt="" /><span>'.getOption('opt-country').'</span>'; 
          $Locations =Location::all(array()); 
          echo'<ul class="cntry-add" id="'.$blog['blog_id'].'">'; 
          foreach($Locations as $Location){ 
           echo '<li><span>'.$Location->post->post_title.'</span>'; 
           echo'<div>'; 
           if($Location->to_array()['telephone']){echo '<strong>'._e('Adrress: ', 'investing-academy').'</strong><br />'.$Location->to_array()['address'].'<br /><br />';} 
           if($Location->to_array()['telephone']){echo '<strong>'._e('Telephone: ', 'investing-academy').'</strong><br />'.$Location->to_array()['telephone'];} 
           echo'</div></li>'; 

          } 
          echo'</ul>'; 
          wp_reset_query(); 
          restore_current_blog(); 
         } 
        } 
        ?> 
       </ul> 

Выпадающее меню работает, когда я нажимаю на каждой стране. только когда я пытаюсь нажать маркер, он не работает.

спасибо!

ответ

0

Попробуйте заменить

var id = marker.id; 

с

var id = this.id; 
+0

спасибо! работает :) –

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