在地图上画长方形

问题描述 投票:0回答:1

我想在地图上绘制网格,以公里为单位定义测量。例如,绘制长度为10公里,高度为12公里的矩形。我希望能够定义这样的测量值,然后屏幕将被这些网格(矩形)分割,如你所见。此处.目前,我正在获取屏幕的坐标(NorthE,NorthW,SouthE,SouthW),并将其除以一个数字,并在里面循环,所以我可以用googlemaps API用这些坐标绘制矩形。我的问题是,我是否可以做同样的事情,但不需要定义一个数字来划分经度和纬度,我是否可以为我的矩形定义高度和长度的大小(以km或m为单位),这样我就可以得到如下的结果(用定义大小的矩形划分屏幕)我的代码如下。

 function drawRectanglezoom(map,zoom) {
  var bounds = map.getBounds();
  var longeur = []
  var largeur = []
  var zoomy = zoom /2
  var southWest = bounds.getSouthWest();
  var northEast = bounds.getNorthEast();
  var tileWidth = (northEast.lng() - southWest.lng()) / zoom;
  var tileHeight = (northEast.lat() - southWest.lat()) / zoomy;
  for (var x = 0; x <= zoom; x++) {
    for (var y = 0; y <= zoom; y++) {
      var a = new google.maps.LatLng(southWest.lat() + (tileHeight * y),southWest.lng() + (tileWidth * x))
      var b = new google.maps.LatLng(southWest.lat() + (tileHeight * y),southWest.lng() + (tileWidth * (x+1)))
      var c = new google.maps.LatLng(southWest.lat() + (tileHeight * y),southWest.lng() + (tileWidth * x))
      var d = new google.maps.LatLng(southWest.lat() + (tileHeight * (y+1)),southWest.lng() + (tileWidth * x))
      distancelongeur = google.maps.geometry.spherical.computeDistanceBetween (a, b);
      distancehauteur = google.maps.geometry.spherical.computeDistanceBetween (c, d);
      largeur.push(distancehauteur)
      longeur.push(distancelongeur)
      // console.log(' distance entre A et B', distancelongeur)
      // console.log('hauteur distance entre C et D', distancehauteur)
      var areaBounds = {
          north: southWest.lat() + (tileHeight * (y+1)),
          south: southWest.lat() + (tileHeight * y),
          east: southWest.lng() + (tileWidth * (x+1)),
          west: southWest.lng() + (tileWidth * x)
        };

     var area = new google.maps.Rectangle({
        strokeColor: '#FF0000',
        map: map,
        bounds: areaBounds

      });
      area.setMap(map)
      list.push(area)
    }

  }

  }

响应不一定要用googlemaps,如果我可以用查询(MySQL)或其他方式,它将真正解决我的问题.Thanks !

javascript google-maps mesh google-maps-api-2
1个回答
0
投票
img = matplotlib.image.imread("./kite_logo.png")
figure, ax = pyplot.subplots(1)
rect = patches.Rectangle((125,100),50,25, edgecolor='r', facecolor="none")
ax.imshow(img)

显示图像

ax.add_patch(rect)

在图像上添加矩形

© www.soinside.com 2019 - 2024. All rights reserved.