簡體   English   中英

JavaFX:WebPane中的Google Maps-移動標記會留下舊標記

[英]JavaFX: Google Maps in a WebPane - Moving a Marker leaves old one behind

我有一個在JavaFX WebView中運行Google Maps API實例的應用程序,並試圖允許用戶在周圍移動地圖標記。

我嘗試了以下方法:

google.maps.event.addListener(map, 'click', function(event) {
  marker.setPosition(event.latLng);
}

以及:

google.maps.event.addListener(map, 'click', function(event) {
  marker.setMap(null);
  marker = null;
  marker = new google.maps.Marker({
    position:event.latLng,
    map: map
  });
}

這兩種實現方式都會產生相同的問題:單擊地圖會在新位置創建一個標記,但是舊的位置標記也會保留在屏幕上。 移動地圖並強制使用舊標記的部分重新加載會刪除該標記,使我相信這不是實現的問題,而是Web瀏覽器處理它的錯誤。 有什么辦法可以解決此問題,從而不會留下重復的標記?

我認為這是代碼實現的問題。 嘗試這個。 jsfiddle上進行了測試 ,它運行良好。

function initMap() {
var myLatLng = {lat: -25.363, lng: 131.044};
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 4,
center: {lat: -25.363882, lng: 131.044922 }
});

var marker = new google.maps.Marker({
position: myLatLng,
map: map,
draggable: true,
});

google.maps.event.addListener(map, 'click', function(e) {
updateMarkerPosition(marker,e);
});
}

function updateMarkerPosition(marker, e){
marker.setPosition(e.latLng);
}

如果這種無縫執行未反映在您的JavaFX應用程序中,則不是Google Maps API出現了問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM