谷歌地图绘图管理器在引脚掉落后启动绘图
Google Maps DrawingManager initiate draw after pin drop
是否有一种方法可以使用Google Map API绘制库启动对象的绘制?我有以下工作流程
- 用户双击地图
- 引脚掉落
- 使用DrawingManager绘制圆
然而,在#2和#3之间,还需要一个额外的点击。这个额外的点击周围还有什么吗?
http://jsfiddle.net/gu2wD/9/
function createCircle() {
//create drawing manager to draw circle on map
var drawingManager = new google.maps.drawing.DrawingManager({
drawingMode: google.maps.drawing.OverlayType.CIRCLE,
drawingControl: true,
drawingControlOptions: {
position: google.maps.ControlPosition.TOP_CENTER,
drawingModes: [
google.maps.drawing.OverlayType.CIRCLE
]
},
circleOptions: {
strokeColor: '#0099FF',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#0099FF',
fillOpacity: 0.35,
map: map,
center: marker.getPosition(),
editable: true,
radius: 50
}
});
drawingManager.setMap(map);
google.maps.event.addListener(drawingManager, 'circlecomplete', function (circle) {
popUpPinInfo(marker, circle.radius, map);
google.maps.event.addListener(circle, 'radius_changed', function () {
popUpPinInfo(marker, circle.radius, map);
});
});
google.maps.event.addListener(drawingManager, 'overlaycomplete', function(e) {
drawingManager.setDrawingMode(null);
});
}
我认为它真的很接近。但是,当我使用绘图管理器(它允许我拾取半径上的更改事件)时,圆不会立即开始。导致额外的点击
查看文档,我没有发现可以用来检测标记何时被丢弃的事件。我认为position_changed
事件有可能被触发,但这似乎只有当你将标记设置为可拖动并物理移动时才会发生。
因此,我认为您最好的选择是在双击处理程序中使用setTimeout
来延迟绘制圆,直到标记就位。像这样的东西(见小提琴):
google.maps.event.addListener(map, 'dblclick', function() {
createMarker();
setTimeout(createCircle, 500);
});
function createMarker() {
// create the marker
}
function createCircle() {
// create the circle
}
编辑:
@geocodezip友好地提供了一个改进的fiddle,其中标记被放置在双击的位置,并且圆圈是可编辑的。
相关文章:
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- 从控制器返回后Ajax启动事件激发
- Meteor上的启动页面
- 如何防止网页加载后自动启动功能
- 如何从JavaScriptInterface启动Navigation Drawer
- window.on.scroll事件未启动
- 单击按钮后启动javascript提示
- HTML画布在绘图后立即擦除矩形
- 如何在JS Leatflet绘图插件中获取圆的坐标
- 在javaservlet doPost方法中启动线程时,无法返回异常消息
- spine.js在启动时填充模型实例
- 如何在所有ng点击事件AngularJS上启动一个方法
- jQuery悬停在没有鼠标悬停的情况下启动
- SignalR客户端启动连接时如何设置用户
- Meteor:在启动时将html注入客户端文件
- OL3-如何知道绘图或交互是否已启动
- 如何重新启动绘图/动画chart -js
- 谷歌地图绘图管理器在引脚掉落后启动绘图