百度地图 如何制作泡泡放大镜?
<!DOCTYPE html> <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;} #l-map{height:100%;width:78%;float:left;border-right:2px solid #bcbcbc;} #r-result{height:100%;width:20%;float:left;} </style> <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.4"></script> <script type="text/javascript" src="http://api.map.baidu.com/library/TextIconOverlay/1.2/src/TextIconOverlay_min.js"></script> <script type="text/javascript" src="http://api.map.baidu.com/library/MarkerClusterer/1.2/src/MarkerClusterer_min.js"></script> <title>19.1 泡泡放大镜</title> </head> <body> <div style="float:left;"> <p>MAP1</p> <div style="width:520px;height:340px;border:1px solid gray" id="container1"></div> </div> </body> </html> <script type="text/javascript"> var map1 = new BMap.Map("container1"); var map2; var point = new BMap.Point(116.404, 39.915); var point1 = point; var point2 = point; map1.centerAndZoom(point1, 16); var marker1 = new BMap.Marker(point);//定义标注 map1.addOverlay(marker1);//添加标注 var win1 = new BMap.InfoWindow("<p>泡泡</p><div style='width:200px;height:200px;border:1px soild gray' id='container2'></div"); marker1.addEventListener("click", function displayPop() { marker1.openInfoWindow(win1); //打开窗口 map2 = new BMap.Map("container2"); //创建泡泡放大镜map2 map2.centerAndZoom(point2, 18); }); </script>
任务描述:
我不喜欢API提供的缩放控件耶……
我能不能使用其他方式放大地图勒?
当然阔以啦!
现在就来教大家如何动手制作一个可爱的泡泡放大镜!
使用它,就可以放大地图上的任何细节啦~
如何实现:
创建主地图map1,在主地图上创建一个标注,并对标注添加一个信息窗口。
在信息窗口里面,创建一张小地图,地图级别为18(足够大啦)。
默认设置信息窗口关闭,点击红色标注后打开信息窗口。
操作试试:
点击红色标注,立马弹出来一个泡泡放大镜!
你还可以移动主地图试试,泡泡放大镜里面的地图也会改变呢!