无法获得地图上绘制矩形的边界

莫娜编码器

我正在做这个演示为什么我收到此错误:

overlay.getBounds 不是函数

在尝试获取地图上绘制矩形的边界时?

var rectangle;
var map;
var drawingManager;

function initMap() {
  map = new google.maps.Map(document.getElementById('map'), {
    center: {
      lat: 44.5452,
      lng: -78.5389
    },
    zoom: 9
  });
  drawingManager = new google.maps.drawing.DrawingManager();
  google.maps.event.addListener(drawingManager, 'overlaycomplete', function(overlay) {
    rectangle = overlay;
    drawingManager.setOptions({
      drawingMode: null,
      drawingControl: false
    });
    
     var bounds = overlay.getBounds();
     var start = bounds.getNorthEast();
     var end = bounds.getSouthWest();
     console.log( start);
  });
}
google.maps.event.addDomListener(window, 'load', initMap);


function drawRec() {
  //Setting options for the Drawing Tool. In our case, enabling Polygon shape.
  if (!!rectangle && !!rectangle.overlay && !!rectangle.overlay.setMap) {
    rectangle.overlay.setMap(null);
  }
  drawingManager.setOptions({
    drawingMode: google.maps.drawing.OverlayType.RECTANGLE,
    drawingControl: false,
    drawingControlOptions: {
      position: google.maps.ControlPosition.TOP_CENTER,
      drawingModes: [google.maps.drawing.OverlayType.RECTANGLE]
    },
    rectangleOptions: {
      strokeColor: '#6c6c6c',
      strokeWeight: 3.5,
      fillColor: '#926239',
      fillOpacity: 0.6,
      editable: true,
      draggable: true
    }

  });
  drawingManager.setMap(map);

}
html,
body,
#map {
  height: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}
<button onclick="drawRec();">Draw Rectangle</button>
<div id="map"></div>
<script src="https://maps.googleapis.com/maps/api/js?libraries=drawing"></script>

地理编码

您收到错误消息:“overlay.getBounds 不是函数”,因为overlay.getBounds()它不是函数。overlay不是 a google.maps.Rectangle,但它有一个overlay属性是。

google.maps.event.addListener(drawingManager, 'overlaycomplete', function(overlay) {
  rectangle = overlay;
  drawingManager.setOptions({
    drawingMode: null,
    drawingControl: false
  });
  var bounds = overlay.overlay.getBounds();
  var start = bounds.getNorthEast();
  var end = bounds.getSouthWest();

  console.log(start.toUrlValue(6));
});

更新的小提琴

代码片段:

var rectangle;
var map;
var drawingManager;

function initMap() {
  map = new google.maps.Map(document.getElementById('map'), {
    center: {
      lat: 44.5452,
      lng: -78.5389
    },
    zoom: 9
  });
  drawingManager = new google.maps.drawing.DrawingManager();
  google.maps.event.addListener(drawingManager, 'overlaycomplete', function(overlay) {
    rectangle = overlay;
    drawingManager.setOptions({
      drawingMode: null,
      drawingControl: false
    });
    var bounds = overlay.overlay.getBounds();
    var start = bounds.getNorthEast();
    var end = bounds.getSouthWest();

    console.log(bounds.toUrlValue(6));
  });
}
google.maps.event.addDomListener(window, 'load', initMap);


function drawRec() {
  //Setting options for the Drawing Tool. In our case, enabling Polygon shape.
  if (!!rectangle && !!rectangle.overlay && !!rectangle.overlay.setMap) {
    rectangle.overlay.setMap(null);
  }
  drawingManager.setOptions({
    drawingMode: google.maps.drawing.OverlayType.RECTANGLE,
    drawingControl: false,
    drawingControlOptions: {
      position: google.maps.ControlPosition.TOP_CENTER,
      drawingModes: [google.maps.drawing.OverlayType.RECTANGLE]
    },
    rectangleOptions: {
      strokeColor: '#6c6c6c',
      strokeWeight: 3.5,
      fillColor: '#926239',
      fillOpacity: 0.6,
      editable: true,
      draggable: true
    }

  });
  drawingManager.setMap(map);

}
html,
body,
#map {
  height: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}
<button onclick="drawRec();">Draw Rectangle</button>
<div id="map"></div>
<script src="https://maps.googleapis.com/maps/api/js?libraries=drawing"></script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法在传单地图上绘制从 geoJson 获得的点

来自分类Dev

在无边界的地图上绘制点

来自分类Dev

使用LeafletJS在地图上绘制边界

来自分类Dev

如何在ggplot中的地图上绘制等宽的矩形

来自分类Dev

如何在地图上绘制多个圆形和矩形?

来自分类Dev

如何使用google.maps.Rectangle对象在Google地图上绘制选择框/边界框/矩形,并检查标记是否在其中

来自分类Dev

绘制矩形或矩形F的边界?

来自分类Dev

Google地图矩形mouseDown和mouseUp事件无法在边界触发

来自分类Dev

如何在地图上绘制标记以获得更好的性能

来自分类Dev

在图像视图上绘制矩形。图像无法正确缩放-iOS

来自分类Dev

在地图上绘制的条

来自分类Dev

在地图上绘制

来自分类Dev

在地图上绘制的条

来自分类Dev

如何获得地图边界?

来自分类Dev

无法在Google地图上绘制多边形

来自分类Dev

无法使用传单在地图上绘制形状

来自分类Dev

angular-google-map:无法在地图上获得标记

来自分类Dev

在地图上绘制行驶方向

来自分类Dev

在地图上绘制数据点

来自分类Dev

在地图上绘制线-gcIntermediate

来自分类Dev

在Google地图上绘制圆弧

来自分类Dev

在美国地图上绘制数值

来自分类Dev

在美国地图上绘制疾病

来自分类Dev

在地图上绘制特定元素

来自分类Dev

在不同大小的Google地图上设置边界

来自分类Dev

如何在矩形的边界上绘制点?

来自分类Dev

更改Google Maps中绘制矩形的边界

来自分类Dev

使用R中usmap包中的plot_usmap在同一地图上绘制州和县边界

来自分类Dev

在折线图上绘制矩形