gpt4 book ai didi

javascript - JavaFX:WebPane 中的 Google map - 移动标记将旧标记抛在后面

转载 作者:行者123 更新时间:2023-12-02 03:26:57 25 4
gpt4 key购买 nike

我有一个在 JavaFX WebView 中运行 Google Maps API 实例的应用程序,并尝试允许用户移动 map 标记。

我尝试过以下方法:

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
});
}

这两种实现都会产生相同的问题:单击 map 会在新位置创建一个标记,但旧位置标记也会保留在屏幕上。移动 map 并强制重新加载带有旧标记的部分会删除该标记,这让我相信这不是实现问题,而是网络浏览器处理它的错误。有什么方法可以解决这个问题,这样就不会留下重复的标记吗?

最佳答案

我认为这是代码实现的问题。尝试这个。在 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);
}

如果这种无缝执行没有反射(reflect)在您的 JavaFX 应用程序中,那么问题就不是 Google Maps API。

关于javascript - JavaFX:WebPane 中的 Google map - 移动标记将旧标记抛在后面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38711744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com