如果你抬头看看" Mississauga"在Google地图上,它会返回如下所示的边界:
我需要的是边界的西南和东北坐标(上图中的红色方块)。
但是,当我使用Google Maps API时,它会返回以下边界:
"bounds": {
"northeast": {
"lat": 43.737351,
"lng": -79.17856599999999
},
"southwest": {
"lat": 43.4173019,
"lng": -79.8101295
}
},
但是当你将这些值插入地图绘图仪时,它会给出以下区域:
这是多么荒谬的错误,因为它几乎包括了多伦多的全部,而不仅仅是密西沙加。
如何获取城市的正确的边界坐标?我做错了吗?
答案 0 :(得分:1)
您可以使用包含Mississauga范围的KMZ或KML文件。搜索Mississauga KMZ,返回this link
我编辑了file to just contain Mississauga
代码段
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>
答案 1 :(得分:0)
地理编码器没有任何问题,也没有你正在做什么。
地理编码器的界限足以覆盖。
"bounds": {
"northeast": {
"lat": 43.737351,
"lng": -79.17856599999999
},
"southwest": {
"lat": 43.4173019,
"lng": -79.8101295
}
},
似乎Geocoder扩展了Mississauga对多伦多的界限,但事实并非如此。
边界延伸至安大略湖的一部分,属于密西沙加,位于属于多伦多的湖泊下方。
当湖区也突出显示时,密西沙加地区看起来像这样:http://jsbin.com/xoxevaw/edit?output(注意:用于突出湖泊的多边形线的坐标只是近似值)