【问题标题】:get circle center coordinate获取圆心坐标
【发布时间】:2012-12-20 16:49:10
【问题描述】:

我有下一个获取多边形坐标的代码,但我想在绘制圆时获取中心坐标。

有谁知道如何做到这一点?

最好的问候,并希望有人对此有所了解。

function draw() { 
 if (drawingManager <= 0) then 

var drawingManager = new google.maps.drawing.DrawingManager({
  drawingMode: google.maps.drawing.OverlayType.POLYGON,
  drawingControl: true,
  drawingControlOptions: {
    position: google.maps.ControlPosition.TOP_CENTER,
    drawingModes: [
      google.maps.drawing.OverlayType.MARKER,
     google.maps.drawing.OverlayType.CIRCLE,
      google.maps.drawing.OverlayType.POLYGON,
     google.maps.drawing.OverlayType.POLYLINE,
     google.maps.drawing.OverlayType.RECTANGLE
    ]
  },
  markerOptions: {
    icon: 'images/beachflag.png'
  },
  polygonOptions: {
    fillColor: '#1E90FF',
    fillOpacity: 0.4,
    strokeWeight: 2,
    clickable: true,
    editable: true,
    zIndex: 1
  }
});


var coord_listener = google.maps.event.addListener(drawingManager, 'polygoncomplete', function (polygon) {
var coordinates = (polygon.getPath().getArray());


alert(coordinates);
PassPolygonToField(coordinates);
window.poly = polygon;
});



drawingManager.setMap(map);


} 

function PassPolygonToField(coordinates) {
//here I pass the coords to the form field and then I insert the form into a mysql database.
document.getElementById('myField').value = (coordinates);

}

【问题讨论】:

    标签: google-maps-api-3 google-maps-markers


    【解决方案1】:

    在 coord_listener 之后添加此代码:

    google.maps.event.addListener(drawingManager, 'circlecomplete', function(circle) {
      alert(circle.getCenter());
    });
    

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,我不得不使用:

      const lat = circle.overlay.getCenter().lat()
      const lng = circle.overlay.getCenter().lng()
      

      【讨论】:

        猜你喜欢
        • 2021-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多