2017-01-10 11 views
0

GoogleマップのAPIに問題があります。マーカーの位置を常に変更すると、マップ上にトレースが残るため、トレースを残さずにマーカーを移動する必要があります。 私は実際にfirebaseのデータベースから緯度と経度を取得し、車のルートを表す必要があります。最終的にGoogleマップのapiでマーカーの位置を変更するにはどうすればよいですか?

var mapOptions = { 

center: new google.maps.LatLng(20.615977, -103.339358), 
zoom: 12 

}; 

var map = new google.maps.Map(document.getElementById("map"), mapOptions);  

firebase.database().ref('route').on('value', function(data) { 

var start = new google.maps.Marker({ 
    position: {lat: latitud, lng: longitud}, 
    map: map, 
    icon: '../icon/car.png' 
}); 

var myLatlng = new google.maps.LatLng(data.val().latitude, data.val().longitude); 

start.setPosition(myLatlng); 
start.setMap(map); 

}); 
+1

新しいマーカーを作成するのではなく、既存のマーカーを移動する必要がありますか? –

+0

Googleマップマーカーには 'setPosition'メソッドがあります –

答えて

0

すべてのイベントで新しいマーカーを作成しています。代わりに、イベントハンドラの前にマーカーを作成し(そしてそこにsetMapを呼び出す)、ハンドラでsetPosition()をデータの新しいlat/lngに渡します。

関連する問題