私は理解するのに苦労しているやや興味深い問題を抱えています。マップの外側からドラッグ可能なdivを実装していて、それをマップにドラッグしたいと思います。イベントをトリガーしてドロップの位置を取得するところまで到達しましたが、それをマップが理解できるものに変換する必要があります。
.position()によって返された値を、Googleマップが理解できるlatlngまたはpointに変換する方法はありますか?私は地図投影法をいじっていますが、地図上のビューポートに対してそれを機能させることができないようです。正しい方向のどの点も素晴らしいでしょう。
$('#map').droppable({
drop: function(e, ui) {
console.log(e);
console.log(ui);
var rawMouseLocation = $('#map').mapPlugin('mouseLocation', ui.position);
mouseLocation = rawMouseLocation.toString().replace(/[()]/g,'')
var field = $(ui.draggable[0]).data('fieldID');
var iconPath = $(ui.draggable[0]).find('img').attr('src');
$('.'+field).val(mouseLocation).removeClass('default-text');
var layerName = $('#map').mapPlugin('addNewFieldLayer',field, rawMouseLocation, {
"iconPath":iconPath,
'onDragEnd':self.updateField
});
newLayers.push(layerName);
$(ui.draggable).draggable( 'disable' );
}
});
'mouseLocation'関数内で、その位置をマップ座標に変換する方法が必要です。これが可能かどうかさえわかりませんが、どんな助けでも大歓迎です。ありがとう。