marker局部加载会遇到很多问题,比如在使用senchtouch的Ext.Map()框架的时候。找不到map什么适合才显示出来,那么就不能获得显示区域map的var bounds = map.getBounds(); 区域(获得这个可以用于你的marker的筛选加载)。
所以只好放弃框架,在外面生成一个map在放入容器内。外面生成map时,需要获取边界,可以使用
google.maps.event.addListenerOnce(map, 'bounds_changed',
function() {
var bounds = map.getBounds();
var southWest = bounds.getSouthWest();
var northEast = bounds.getNorthEast();});这样当你载入地图的适合你就获得了地图的两个边界,就可以用于marker的筛选。每次拖动自动加载该区域的marker可以用google.maps.event.addListener(map, 'mouseup', function() {});函数内部添加marker。不过你还得删除你之前的marker,如果你使用MarkerClusterer的话,那么你可以直接使用markerclusterer.clearMarkers();将marker全部移除。然后再添加新的marker
ok..........怕自己忘记掉,经常丢掉文件.......或者乱修改不认识了......做下笔记....
googlemaps API V3 之(四)marker局部加载优化处理
最新推荐文章于 2021-04-22 16:22:32 发布