使用到百度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/