2012-02-28 5 views
0

次のスクリプトを試しましたが、最後のセクションは機能しません。助けてください。ブラウザのフィールドに配置されたマーカーからLatLngを取得する

//スクリプトタイプ= "テキスト/ javascriptの"

var myOptions = { 
    zoom: 7, 
    center: new google.maps.LatLng(-36.624345125527526,144.96459973437504), 
    mapTypeId: google.maps.MapTypeId.TERRAIN, 
    streetViewControl: false, 
    draggableCursor: 'crosshair', 
    draggingCursor: 'pointer' 
    }; 
var map = new google.maps.Map(document.getElementById('map_canvas'), 
    myOptions); 
google.maps.event.addListener(map, 'click', function(e) { 
    placeMarker(e.latLng, map); 
    }); 

map.panTo(position); 

//動作していない

google.maps.event.addListener(marker, 'dragend', function() { 
    var point = marker.getPosition(); 
    document.getElementById("latitude").getElementsByTagName("input")[0].value = point.lat(); 
    document.getElementById("longitude").getElementsByTagName("input")[0].value = point.lng(); 
    }); 


を使用してみましたスクリプトの

//最後には、次の何もマーカーがドラッグされた後に発生します。リスナーがマーカーの 'dragend'イベントを聞いていないようです。どんな手掛かり?地図上でマーカーをドラッグした後にlatLngを取得するその他のオプションはありますか?

// JSコード

google.maps.event.addListener(marker, 'dragend', function(e) { 
    var point = e.latLng; 
    alert(marker.e.latLng); 
}) 

//端コード

スクリプトは、ウェブベースのアプリケーションに埋め込まれたプレースホルダに座るように入力要素部分が選択されません。だから、その部分を変更することはできません。

+0

私はGoogleマップのAPI Aのみを使用しています。このように:あなたは自分の入力要素を命名し、それらを直接アクセスしていない理由は...このような何かを

google.maps.event.addListener(marker, 'dragend', function(e) { var point = e.latLng; document.getElementById("latitude").getElementsByTagName("input")[0].value = point.lat(); document.getElementById("longitude").getElementsByTagName("input")[0].value = point.lng(); }); 

私もわかりません少しですが、あなたの 'map.panTo(position)'は私にとっては奇妙に見えます。 – buck54321

答えて

1

マーカーのdragendイベントによって渡されたMouseEventオブジェクトを使用する必要があります。

document.getElementById("latitude_input").value = point.lat(); 
document.getElementById("longitude_input").value = point.lng(); 
+0

以下を使用してみましたが、まだ動作していません。どんな手掛かり? inpu要素の部分は、スクリプトがWebベースのアプリケーションの埋め込みプレースホルダに置かれているため、選択肢ではありません。だから、その部分を変更することはできません。 google.maps.event.addListener(marker、 'dragend'、function(e){ 、var point = e.latLng; alert(marker.e.latLng); }); – mta

+0

あなたのライブコードをどこかに投稿してください(JS Fiddleはうまくいくでしょう)。そうすれば、evertoneは一見するとエラーがどこにあるのか見ることができます。 – andresf

関連する問題