我怎样才能与绘画协调? [英] How can I get co-ordinates with drawing?

查看:95
本文介绍了我怎样才能与绘画协调?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我没有在我的代码中使用监听器,那么我如何从绘图中获取每个坐标点?

 函数initMap (){
var map = new google.maps.Map(document.getElementById('map'),{
center:{lat:-34.397,lng:150.644},
zoom: 8
});

var drawingManager = new google.maps.drawing.DrawingManager({
drawingMode:google.maps.drawing.OverlayType.MARKER,
drawingControl:true,
drawingControlOptions :{
position:google.maps.ControlPosition.TOP_CENTER,
drawingModes:['polygon','polyline']
},

circleOptions:{
fillColor:'#ffff00',
fillOpacity:1,
strokeWeight:5,
clickable:false,
editable:true,
zIndex:1
}
});
drawingManager.setMap(map);

小提琴: https://jsfiddle.net/31aey9mk/

解决方案

已更新您的小提琴此处



基本上,您需要传递您希望使用的类型的 google.map.drawing.OverlayType 的数组。在这种情况下,我添加了一个标记和多边形。

然后,你需要在 initMap()中添加一个事件处理函数, code>用于捕获绘图完成时的方法:

  google.maps.event.addListener(drawingManager,' overlaycomplete',function(event)
{
if(event.type ==='marker')console.log('Lat:'+ event.overlay.position.lat()+',Long :'+ event.overlay.position.lng())
else console.log(event.overlay.getPath()。b);
});

其中包含事件和绘制的形状/标记。


I am not using listener in my code then How can I get each co-ordinates points from drawing?

     function initMap() {
        var map = new google.maps.Map(document.getElementById('map'), {
        center: {lat: -34.397, lng: 150.644},
        zoom: 8
      });

        var drawingManager = new google.maps.drawing.DrawingManager({
        drawingMode: google.maps.drawing.OverlayType.MARKER,
        drawingControl: true,
        drawingControlOptions: {
          position: google.maps.ControlPosition.TOP_CENTER,
          drawingModes: ['polygon', 'polyline']
        },

        circleOptions: {
          fillColor: '#ffff00',
          fillOpacity: 1,
          strokeWeight: 5,
          clickable: false,
          editable: true,
          zIndex: 1
        }
      });
      drawingManager.setMap(map);
}

fiddle: https://jsfiddle.net/31aey9mk/

解决方案

I've updated your fiddle here.

Basically, you need to pass an array of google.map.drawing.OverlayTypes of the type you wish you use. In this case, I've added a marker and polygon.

Then, you need to add an event handler in the initMap() method for capturing when the drawing has been completed:

google.maps.event.addListener(drawingManager, 'overlaycomplete', function (event)
{
    if (event.type === 'marker') console.log('Lat: ' + event.overlay.position.lat() + ', Long: ' + event.overlay.position.lng())
    else console.log(event.overlay.getPath().b);
});

Which grabs the event and the shape/marker which was drawn.

这篇关于我怎样才能与绘画协调?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆