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