打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
使用google map api 的 GLatLngBounds 找出地圖最適的座標與

這個案例是這樣的。使用者希望在地圖載入地標的時候,不管座標在哪裡,要一次能看到所有的地標。

這時我們可以這樣做。

map.setCenter(new GLatLng(0,0),0);  //要先設定map latlng 和 level
            
bounds = new GLatLngBounds();

在地圖初始的時候,我們並不知道待會要加入的地標後最適合的地圖座標與level,所以我們先給他一個最大的初始值。一定要先給初始值,否則下一句的建立GLatLngBounds物件的時候會發生錯誤。

for(var i = 0; i < points.length; i++)
{
    bounds.extend(new GLatLng(lat,lng));      
}

再把你要加入在地圖上的marker的座標給GLatLngBounds.extend的方法

map.setZoom(map.getBoundsZoomLevel(bounds));
map.setCenter(bounds.getCenter());

最後GLatLngBounds丟給GMap2.getBoundsZoomLevel的方法,他就會找出最適的level,再把地圖移動到marker們的中心點,這樣就可以達到在地圖上一次顯示所有輸入地標的功能了。

 順手再寫了一下縣市地位、地址定位和經緯度定位的功能在範例裡。有興趣的人請自行連結參考。謝謝大家。

範例

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Google Map API使用详解(四)——Google Map基本常识(中)
使用geoserver+openLayers加载google地图
tilecache缓存地图
Google Earth Engine(GEE)提取点的土壤湿度
jsp调用geoserver图层
从Google Maps上看受灾的新奥尔良市
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服