controls 属性(Panorama)
在街景上添加自定义控件
语法
panorama.controls[qq.maps.ControlPosition.TOP_CENTER].push(customControlDiv)
类型
Array.<MVCArray.<HTMLDivElement>>
实例
示例 1:
本示例中,介绍如何把自己的创建一个dom节点,定义为街景控件
var panorama = new qq.maps.Panorama(document.getElementById("container"), {
"pano": "10011001120129111239600"
});
var customZoomDiv = document.createElement("div");
customZoomDiv.style.cssText = "padding:5px;border:2px solid #86acf2;background:#ffffff";
customZoomDiv.index = 1; //设置在当前布局中的位置
function update() {
customZoomDiv.innerHTML = "街景缩放级别:" + panorama.getZoom();
}
qq.maps.event.addDomListener(panorama, "zoom_changed", update);
update();
panorama.controls[qq.maps.ControlPosition.TOP_CENTER].push(customZoomDiv);
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset = utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title>腾讯地图</title>
<style>
html,
body {
height: 100%;
margin: 0px;
padding: 0px
}
#container {
width: 100%;
height: 100%
}
</style>
<!--<script src="https://map.qq.com/api/js?v=2.exp&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77"></script>-->
<script src="http://mobile1.map.qq.com/kexinwu/sosoapi/main.js"></script>
</head>
<body>
<div id="container"></div>
<script>
var panorama = new qq.maps.Panorama(document.getElementById("container"), {
"pano": "10011001120129111239600"
});
var customZoomDiv = document.createElement("div");
customZoomDiv.style.cssText = "padding:5px;border:2px solid #86acf2;background:#ffffff";
customZoomDiv.index = 1; //设置在当前布局中的位置
function update() {
customZoomDiv.innerHTML = "街景缩放级别:" + panorama.getZoom();
}
qq.maps.event.addDomListener(panorama, "zoom_changed", update);
update();
panorama.controls[qq.maps.ControlPosition.TOP_CENTER].push(customZoomDiv);
</script>
</body>
</html>
示例 2:
本示例中,以地图为例,介绍如何控制自定义控件的顺序
var map = new qq.maps.Map(document.getElementById("container"));
var controlStyle = "padding:5px;border:2px solid #86acf2;background:#ffffff";
var leftControl = document.createElement("div");
leftControl.style.cssText = controlStyle;
leftControl.innerHTML = "左";
leftControl.index = 1; //设置在当前布局中的顺序
var rightControl = document.createElement("div");
rightControl.style.cssText = controlStyle;
rightControl.innerHTML = "右";
rightControl.index = 3;
var middleControl = document.createElement("div");
middleControl.style.cssText = controlStyle;
middleControl.innerHTML = "中";
middleControl.index = 2;
middleControl.style.margin = "0 5px"; //通过margin可以控制控件间的间距
//只要设置了index,插入顺序就可以是乱序的了
map.controls[qq.maps.ControlPosition.TOP_CENTER].push(middleControl);
map.controls[qq.maps.ControlPosition.TOP_CENTER].push(leftControl);
map.controls[qq.maps.ControlPosition.TOP_CENTER].push(rightControl);
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset = utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title>腾讯地图</title>
<style>
html,
body {
height: 100%;
margin: 0px;
padding: 0px
}
#container {
width: 100%;
height: 100%
}
</style>
<script src="https://map.qq.com/api/js?v=2.exp&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77"></script>
</head>
<body>
<div id="container"></div>
<script>
var map = new qq.maps.Map(document.getElementById("container"));
var controlStyle = "padding:5px;border:2px solid #86acf2;background:#ffffff";
var leftControl = document.createElement("div");
leftControl.style.cssText = controlStyle;
leftControl.innerHTML = "左";
leftControl.index = 1; //设置在当前布局中的顺序
var rightControl = document.createElement("div");
rightControl.style.cssText = controlStyle;
rightControl.innerHTML = "右";
rightControl.index = 3;
var middleControl = document.createElement("div");
middleControl.style.cssText = controlStyle;
middleControl.innerHTML = "中";
middleControl.index = 2;
middleControl.style.margin = "0 5px"; //通过margin可以控制控件间的间距
//只要设置了index,插入顺序就可以是乱序的了
map.controls[qq.maps.ControlPosition.TOP_CENTER].push(middleControl);
map.controls[qq.maps.ControlPosition.TOP_CENTER].push(leftControl);
map.controls[qq.maps.ControlPosition.TOP_CENTER].push(rightControl);
</script>
</body>
</html>
相关文章
- Control
-
更多自定义控件的使用方法参考Control