百度地图 孪生姐妹地图

<!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>18.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>
<div style="float:left;">
<p>MAP2</p>
<div style="width:520px;height:340px;border:1px solid gray" id="container2"></div>
</div>
</body>
</html>
<script type="text/javascript">
    var map1 = new BMap.Map("container1");
    var map2 = new BMap.Map("container2");

    var point1 = new BMap.Point(116.404, 39.915);
    var point2 = new BMap.Point(116.404, 39.915);

    map1.centerAndZoom(point1, 12);
    map2.centerAndZoom(point2, 12);

    map1.addEventListener("moveend", function () {
        map2.panTo(map1.getCenter());
    });
    map1.addEventListener("zoomend", function () {
        map2.zoomTo(map1.getZoom());
    })

    map1.enableScrollWheelZoom();  
</script>

任务描述:

  我想要两张一模一样的地图!我想要双子地图!我想要孪生姐妹地图

  好好好,统统满足大家!

  在这里我不需要使用百度地图API提供的地图缩略图控件,而是自己动手做一对双胞胎地图

 

如何实现?

  创建两张地图,map1和map2,他俩的中心点和地图级别(放大倍数)不同。

  当鼠标移动map1的中心点时,map2的中心点会随着一起变化,最终和map1的中心点一致。

  同理,可以实现用鼠标滚轮放大缩小地图。

 

操作试试:

  移动左边的地图,右边的地图会随着一起运动;

  对左边的地图使用鼠标滚轮(中键),右边的地图也会放大或者缩小。

 

posted on 2014-12-01 16:42  AlexGeng  阅读(542)  评论(0编辑  收藏  举报

导航