Google地图返回错误的边界坐标

web-services google-maps google-maps-api-3 google-places-api openstreetmap

286 观看

2回复

33 作者的声誉

如果您在Google地图上查找“Mississauga”,它会返回如下所示的边界:

谷歌地图边界

我需要的是边界的西南和东北坐标(上图中的红色方块)。

但是,当我使用Google Maps API时,它会返回以下边界:

    "bounds": {
      "northeast": {
        "lat": 43.737351,
        "lng": -79.17856599999999
      },
      "southwest": {
        "lat": 43.4173019,
        "lng": -79.8101295
      }
    },

但是当您将这些值插入地图绘图仪时,它会给出以下区域:

Google API限制

这是多么荒谬的错误,因为它包括几乎所有的多伦多,而不仅仅是密西沙加。

如何获得城市的正确边界坐标?难道我做错了什么?

作者: user9815123 的来源 发布者: 2018 年 1 月 11 日

回应 2


1

130733 作者的声誉

您可以使用包含Mississauga边界的KMZ或KML文件。搜索Mississauga KMZ,返回此链接

我编辑的文件只包含Mississauga

显示在KmlLayer上

地图截图

代码段:

function initialize() {
  var map = new google.maps.Map(document.getElementById("map_canvas"));
  var kmlLayer = new google.maps.KmlLayer({
    url: "http://www.geocodezip.com/geoxml3_test/kmz/Mississauga.kmz",
    map: map
  })

}
google.maps.event.addDomListener(window, "load", initialize);
html,
body,
#map_canvas {
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js"></script>
<div id="map_canvas"></div>

作者: geocodezip 发布者: 2018 年 1 月 12 日

0

733 作者的声誉

地理编码器没有任何问题,也没有什么问题。

这种来自地理编码器的界限足以覆盖。

"bounds": {
  "northeast": {
    "lat": 43.737351,
    "lng": -79.17856599999999
  },
  "southwest": {
    "lat": 43.4173019,
    "lng": -79.8101295
  }
},

看起来Geocoder似乎扩展了Mississauga对多伦多的界限,但事实并非如此。

这些边界一直延伸到安大略湖的一部分,属于密西沙加,就在属于多伦多的湖泊下方。

当湖区也突出显示时,密西沙加地区看起来像这样:http//jsbin.com/xoxevaw/edit? output (注意:聚合线的坐标用于突出湖泊只是近似)

作者: tomjosef 发布者: 2018 年 4 月 6 日
32x32