任務描述:
我想要兩張一模一樣的地圖!我想要雙子地圖!我想要孿生姐妹地圖!
好好好,統統滿足大家!
在這裡我不需要使用百度地圖API提供的地圖縮略圖控件,而是自己動手做一對雙胞胎地圖!
如何實作?
建立兩張地圖,map1和map2,他倆的中心點和地圖級别(放大倍數)不同。
當滑鼠移動map1的中心點時,map2的中心點會随着一起變化,最終和map1的中心點一緻。
同理,可以實作用滑鼠滾輪放大縮小地圖。
操作試試:
移動左邊的地圖,右邊的地圖會随着一起運動;
對左邊的地圖使用滑鼠滾輪(中鍵),右邊的地圖也會放大或者縮小。
圖示:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuQTN2UDO0MGN3UDZyUTOzY2MzUmM2UTZkVWYlJDZkFDNfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
代碼:
代碼
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="keywords" content="百度地圖,百度地圖API,百度地圖自定義工具,百度地圖所見即所得工具" />
<meta name="description" content="百度地圖API自定義地圖,幫助使用者在可視化操作下生成百度地圖" />
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>兩個地圖關聯</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?key=46ce9d0614bf7aefe0ba562f8cf87194&v=1.1&services=true">
</script>
</head>
<body>
<p>
任務描述:當map1運動完以後,map2會跟着map1一起,改變中心點,改變放大級别。
</p>
<div style="float:left;">
<p>MAP1</p>
<div style="width:520px;height:340px;border:1px solid gray" id="container1"></div>
</div>
<p>MAP2</p>
<div style="width:520px;height:340px;border:1px solid gray" id="container2"></div>
</body>
<script type="text/javascript">
var map1 = new BMap.Map("container1");
var map2 = new BMap.Map("container2");
var point1 = new BMap.Point(116.411053,39.950507); // 建立中心點
var point2 = new BMap.Point(116.411053,39.950507); // 建立中心點
map1.centerAndZoom(point1,12); // 初始化地圖map1,設定中心點和地圖級别。
map2.centerAndZoom(point2,12); // 初始化地圖map2,讓地圖級别和map1一緻。
map1.addEventListener("moveend",function(){map2.panTo(map1.getCenter());}); //讓map2跟着map1走
map1.addEventListener("zoomend",function(){map2.zoomTo(map1.getZoom());}); //讓map2的地圖等級與map1一緻
map1.enableScrollWheelZoom(); // 啟用滾輪放大縮小
</html>