使用到百度api獲取到的bounds,相信大家都會覺得蹩腳,因為它不是我們常遇到的諸如(minX,minY,maxX,maxY)、或者(LBlng,LBlat,RTlng,RTlat)類似的字段形式,而是一堆aa、bb、cc之類的,這里對百度返回的bounds各字段做一個解釋:
需要查看bounds的童鞋可以清楚的看到各個角點經緯度值。
一、使用百度api,獲取地圖當前bounds值,源代碼為:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
body, html, #allmap
{
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.4"></script>
<title>獲取地圖bounds</title>
</head>
<body>
<div id="allmap">
</div>
</body>
</html>
<script type="text/javascript">
var map = new BMap.Map("allmap");
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);
var bounds = map.getBounds();
</script>
------------------------------------------------
博主經營一家發飾淘寶店,都是純手工制作哦,開業沖鑽,只為信譽!需要的親們可以光顧一下!謝謝大家的支持!
店名:
小魚尼莫手工飾品店
經營:
發飾、頭花、發夾、耳環等(手工制作)
網店:
http://shop117066935.taobao.com/
---------------------------------------------------------------------
繼續正題...
二、運行結果圖:

三、矩形bounds放入坐標系中查看經緯度,一目了然:

四、bounds四個角點經緯度值分別為:
左上角點LTPoint: ( bounds.Cf.lng, bounds.uf.lat) 右上角點RTPoint: (bounds.uf.lng, bounds.uf.lat)
(bounds.cc, bounds.Zb) (bounds.$b, bounds.Zb)
左下角點LBPoint: (bounds.Cf.lng, bounds.Cf.lat) 右下角點RBPoint: (bounds.uf,lng,bounds.Cf.lat)
(bounds.cc, bounds.bc) (bounds.$b,bounds.bc)
五、bounds中含有獲取兩個角點坐標的方法:
從第一個截圖中可以看到bounds的實例方法getNorthEast()、getSouthWest(),通過兩個方法分別可以獲取東北角(右上角)、西南角(左下角)坐標。
因而:
左上角點LTPoint: ( bounds.getSouthWest().lng, bounds.getNorthEast().lat) 右上角點RTPoint: bounds.getNorthEast()
左下角點LBPoint: bounds.getSouthWest() 右下角點RBPoint: bounds.getNorthEast().lng,bounds.getSouthWest().lat)
ps:
后來看到了五中的這兩個方法,本來也挺差異百度api會用那些cf、uf的東西,現在看是自己有點想錯了!雖然目前實現的效果都是一樣的,但很可能隨着版本修改,返回字段會有相應的改變;但明碼的方法一般不會做修改,最終還是統一從方法中獲取lat、lng吧!這樣更正規些和安全些!
店名:
小魚尼莫手工飾品店
經營:
發飾、頭花、發夾、耳環等(手工制作)
網店:
http://shop117066935.taobao.com/
