0
中我知道,縮放一個谷歌地圖時,可以強制要求通過圖中的,圓配合:檢測是否圈是地圖
map.fitBounds(circle.getBounds());
是否可以簡單地檢測是否圓載在地圖內?例如。
這將返回真:
這將返回假:
http://i60.tinypic.com/1468e9.png
中我知道,縮放一個谷歌地圖時,可以強制要求通過圖中的,圓配合:檢測是否圈是地圖
map.fitBounds(circle.getBounds());
是否可以簡單地檢測是否圓載在地圖內?例如。
這將返回真:
這將返回假:
http://i60.tinypic.com/1468e9.png
可能解決方案:
google.maps.Circle.prototype.inViewPort=function(){
var map=this.getMap();
if(!map){
return null;
}
try{
var mb=map.getBounds(),
cb=this.getBounds(),
ub=new google.maps.LatLngBounds();
ub.union(mb);
ub.union(cb);
return(ub.equals(mb));
}catch(e){return null;}
}
用法:只需撥打circle.inViewPort()
。
當圓圈在地圖內完全可見時,將返回true
,否則返回false
。
當圓不與地圖相關聯或地圖還沒有完成初始化(投影還不可用,發生在你第bounds_changed
-event閃光之前稱呼它)將返回null
工作原理:
它創建一個空的LatLngBounds
並用地圖邊界和圓的邊界擴展它。當圓圈完全可見時,此LatLngBounds
的邊界必須等於地圖的邊界。
完美。非常感謝你。 – bitpshr