2017-09-25 31 views
-3

我正在使用谷歌地圖圓的例子,我希望每當用戶在盤旋的城市盤旋時應該出現一個警告框。 這裏是代碼 -在jquery中使用mouseover事件的問題

<script> 
src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"> 
</script> 
<body> 
<div id="map"></div> 
<script> 
    var citymap = { 
    chicago: { 
     center: {lat: 41.878, lng: -87.629}, 
     population: 2714856 
    }, 
    }; 
    function initMap() { 
    var map = new google.maps.Map(document.getElementById('map'), { 
     zoom: 4, 
     center: {lat: 37.090, lng: -95.712}, 
     mapTypeId: 'terrain' 
    }); 

    for (var city in citymap) { 
     var cityCircle = new google.maps.Circle({ 
     strokeColor: '#FF0000', 
     strokeOpacity: 0.8, 
     strokeWeight: 2, 
     fillColor: '#FF0000', 
     fillOpacity: 0.35, 
     map: map, 
     center: citymap[city].center, 
     radius: Math.sqrt(citymap[city].population) * 100 
     }); 
    } 
    } 
    var cityCircle= $('#mydiv'); 
    $(document).ready(function(){ 
     $('#mydiv').mouseover(function(){ 
     alert("welcome to chicago"); 
    }); 
}); 
</script> 
<script async defer 
src="https://maps.googleapis.com/maps/api/js?key=mykey&callback=initMap"> 
</script> 

然而圈是存在的,但是當我將鼠標放置在城市警告框沒有出現。 請指導我,我錯了! 謝謝。

+1

你的HTML中的「mydiv」在哪裏? – epascarello

+0

我在jquery中將id設置爲「mydiv」給citycircle。它不起作用? – ashes

+2

當您更改變量時,它不會奇蹟般地重新綁定... – epascarello

回答

0

您的ID設置爲 「mydiv」 在鼠標懸停功能,但你的div被命名爲 「地圖」

編輯:

google.maps.event.addListener(cityCircle,'mouseover',function() 
      {alert("welcome to chicago"); 
    }); 
0

你定義圈後循環

cityCircle.addListener('mouseover', function() { 
    alert("welcome to chicaho"); 
    });