1
ボタンをクリックすると、いくつかのポリゴンパスを返すサーバサイドに対してAJAXリクエストが行われます。これらのポリゴンはマップ上に描画されます。ポリゴンのマウスオーバーイベントが発生しない
問題:mouseover
とmouseout
イベントのイベントハンドラを追加しました。しかし、彼らは発砲していないようです。ハンドラには、マウスオーバーで実行されないconsole.log
が含まれています。これは何が原因でしょうか?
JSコードあなたはどちらかclickable: false
を削除するか確認する必要があり
$("#button").click(function() {
$.getJSON(base_url + 'main/get',
function(json) {
for(var i = 0; i < json.length; i++) {
decoded_path = google.maps.geometry.encoding.decodePath(json[i].encoded_path);
var polyOptions = {
strokeColor: "#4794b8",
strokeOpacity: 0.7,
strokeWeight: 1.5,
fillColor: "#000",
fillOpacity: 0.1,
path: decoded_path,
clickable: false,
map: map
}
var polygon = new google.maps.Polygon(polyOptions);
array_polyline.push(polygon);
// Add Mouseover/Mouseout Listeners
google.maps.event.addListener(polygon, "mouseover", function(){ console.log('Mouseover'); this.setOptions({fillOpacity: 0}); });
google.maps.event.addListener(polygon, "mouseout", function(){ this.setOptions({fillOpacity: 0.1}); });
}
});
});
コード実行時にエラーが発生しましたか? – ManseUK
@ManseUKコードを実行するとエラーはありません – Nyxynyx
そして、あなたは地図上の形を見ることができますか? (暗黙の基本的な質問には申し訳ありません - あなたのコードに何も間違いがないことを確認してください) – ManseUK