設定のある画像のセットがありdraggable=true
ます。これらの画像は、ドラッグしてからGoogleマップビューにドロップし、ドロップ位置にマーカーを作成することを目的としています。地図上で画像が重複しないように、ドラッグ可能な設定を無効にして不透明度を変更したいと思います。
私の地図のドロップ可能ハンドラーと写真ドラッグ可能ハンドラーは
$("#photo"+i).draggable({
helper: "clone",
cursor: "move",
containment: 'body',
start: function(e){
$(this).addClass("fade");
currentPhoto = $(this);
}
});
$("#map").droppable({
drop: function(e){
var point = new google.maps.Point(e.pageX, e.pageY);
var data = {
"location": overlay.getProjection().fromDivPixelToLatLng(point),
"photo": currentPhoto
}
makeMarkers(data.location, $(data.photo).attr("src"), $(data.photo).attr('id'));
}
});
内部makeMarkers
では、type
値は、データベース検索値からページの読み込み時にマーカーが作成されているのか、ドラッグされている写真画像のIDとして作成されているのかを判断するために使用されます。
function makeMarkers(location, title, type){
//variable and marker initialization here
if (type == "onload")
newMarker.setIcon(savedLocation);
else {
newMarker.setIcon(unsavedLocation);
$("img."+type).attr("draggable", "false");
$("img."+type).attr("opacity", "0.5");
console.log("Disabling draggability of " +type);
}
//marker event handlers here
}
画像をドラッグアンドドロップすると、その場所に新しいマーカーが作成されます。ただし、画像のプロパティは変更されていません。どうすれば能力を有効にできますか