2016-09-01 2 views
1

オブジェクト内の点の緯度と経度、および配列内のすべてのオブジェクトを保存します。しかし、私の配列は、各オブジェクトを複数回取得します。複数のGoogleマップ座標を設定する配列内のオブジェクト

は、これは私のコードです:

function initMap1() { 
    var mapDiv = document.getElementById('frame1'); 
    map = new google.maps.Map(mapDiv,{ 
    center: {lat: 3.875083, lng: 11.516110}, 
    zoom: 14, 
    disableDoubleClickZoom: true 
    }); 
    var Data = []; 
    google.maps.event.addListener(map,'dblclick',function(e){ 
    var Object = {}; 
    lat.val(e.latLng.lat()); 
    lng.val(e.latLng.lng()); 
    $('#btn_modal').click(function(){ 
     Object['lat'] = e.latLng.lat(); 
     Object['lng'] = e.latLng.lng(); 
     Object['icone'] = nat.val(); 
     var marker = new google.maps.Marker({ 
     position: {lat:e.latLng.lat(),lng:e.latLng.lng()}, 
     map: map, 
     icon:'img/icones/'+(nat.val())+'.png', 
     title: nat.val() 
     }); 
    }); 
    Data.push(Object); 
    }); 
} 
+0

します。それは奇妙に思えます、あなたはここで何をしようとしていますか? – Seano666

+0

マップをダブルクリックすると、ブートストラップモーダルが表示されます。そのモーダルフレームには、オブジェクト内の座標と配列内のオブジェクトを保存できるボタンがあります。 –

答えて

0

あなたがあなたのモーダルボタンをクリックしたときに、データアレイへのあなたのオブジェクトをプッシュしたい場合は、あなたが作成しているイベントの内側にプッシュコールを移動する必要があります。それ以外の場合は、マップをダブルクリックするたびにオブジェクトが配列にプッシュされます。

代わりの

$('#btn_modal').click(function(){ 
      Object['lat'] = e.latLng.lat(); 
      Object['lng'] = e.latLng.lng(); 
      Object['icone'] = nat.val(); 
      var marker = new google.maps.Marker({ 
       position: {lat:e.latLng.lat(),lng:e.latLng.lng()}, 
       map: map, 
       icon:'img/icones/'+(nat.val())+'.png', 
       title: nat.val() 
      }); 
     }); 
     Data.push(Object); 

は、Googleマップ上でダブルクリックしたときにあなたがボタンにクリックイベントを装着していること

$('#btn_modal').click(function(){ 
      Object['lat'] = e.latLng.lat(); 
      Object['lng'] = e.latLng.lng(); 
      Object['icone'] = nat.val(); 
      var marker = new google.maps.Marker({ 
       position: {lat:e.latLng.lat(),lng:e.latLng.lng()}, 
       map: map, 
       icon:'img/icones/'+(nat.val())+'.png', 
       title: nat.val() 
      }); 
    ----> Data.push(Object); 
     }); 
+0

私はそれをしましたが、結果は同じです。私の配列は、私の最初の座標のポイントを複数回取得しました。 –

+0

配列内のコンテンツを設定した後でもオブジェクトをリセットしましたが、何も変更されていません....私のコードは動作しているようにまだ動作していません。 –

+0

ブラウザでデベロッパーツールを使用してJavaScriptにブレークポイントを設定しましたか、他のクライアントサイドのデバッグ手法を試しましたか? – Seano666

関連する問題