JavaFX:WebPane中的谷歌地图-移动标记会留下旧的标记
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应用程序中,那么问题就不是谷歌地图API了。
相关文章:
- 谷歌地图固定位置覆盖
- 不显示带有本地json文件数据的谷歌地图脚本
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 谷歌地图标记不会显示
- 无法在JS中显示谷歌地图
- 科尔多瓦页面类应用程序中的多个谷歌地图
- 需要帮助谷歌地图方向面板在FancyBox中显示
- 在谷歌地图上获取事件的x,y坐标
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 模拟谷歌地图中的点击
- 如何知道哪个标记被谷歌地图点击了
- 谷歌地图JS API+JSON-多个标记没有显示
- 缓存谷歌地图数据
- 谷歌地图劫持了iphone's滚动(触摸事件)-如何恢复
- 在谷歌地图上绘制位置数据库
- 标记的实时更新,无需加载页面谷歌地图API V3
- 可以't计算自定义谷歌地图的js
- 谷歌地图可以't添加正确的标记ID
- 如何更改角度谷歌地图上的集群图标
- JavaFX:WebPane中的谷歌地图-移动标记会留下旧的标记