当其边界框穿过第180个子午线时,为什么Google Maps“ GroundOverlay”的呈现方式与“ Rectangle”不同?

时间:2018-10-31 03:04:01

标签: javascript google-maps

我在使用JS Google地图时遇到问题,其地面覆盖层的边界跨越了第180个子午线(经度从180变为-180时)。它的渲染不正确,在边界之间以错误的方式拉伸。 假设这是Google Maps中的错误,是否有任何解决方法?

var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 3,
    center: new google.maps.LatLng(-27.64, 172.44)
  });

  var imageBounds = new google.maps.LatLngBounds(
    new google.maps.LatLng(-43.64, 172.44),
    new google.maps.LatLng(-16.689999999999998, -179.87)
    );

    var overlay = new google.maps.GroundOverlay(
        'https://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg',
    imageBounds);
  overlay.setMap(map);

  var rectangle = new google.maps.Rectangle({
      strokeColor: '#FF0000',
      strokeOpacity: 0.8,
      strokeWeight: 2,
      fillColor: '#FF0000',
      fillOpacity: 0.35,
      map: map,
      bounds: imageBounds
  });

这是一个JSFiddle:https://jsfiddle.net/peteroomen/m2e4d57x/15/

0 个答案:

没有答案