百度地图 如何制作泡泡放大镜?

<!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="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='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(足够大啦)。

  默认设置信息窗口关闭,点击红色标注后打开信息窗口。

操作试试:

  点击红色标注,立马弹出来一个泡泡放大镜!

  你还可以移动主地图试试,泡泡放大镜里面的地图也会改变呢!

 

原文地址:https://www.cnblogs.com/gengaixue/p/4135533.html