qq.maps.Panorama 类
在网页中创建街景。
构造函数
创建Panorama类的语法:
new qq.maps.Panorama(container, options);
参数:
-
container
: {HTMLDivElement
} -
(必填) 街景容器,实例化一个街景对象需要在网页中创建一个空div元素,参数中需要传入div元素对象或div元素的id。
-
options
: {PanoramaOptions
} -
(可选) 街景参数,通过这个参数来控制初始化街景的场景点、朝向角度、缩放级别,等等。
方法
方法 | 返回值 | 说明 |
---|---|---|
getPano()
|
String
|
获取当前场景的id。 |
getPosition()
|
LatLng
|
获取当前场景点的经纬度信息。 |
getPov()
|
PanoPov
|
获取全景查看器的视角。 |
getVisible()
|
Boolean
|
获取街景查看器的显示状态(显示/隐藏)。 |
getZoom()
|
Number
|
获取当前场景的缩放级别。 |
setOptions(options:PanoramaOptions)
|
none
|
设置街景参数 |
setPano(pano:String)
|
none
|
设置场景。pano是要设置的场景的id。 |
setPov(pov:PanoPov)
|
none
|
设置全景查看器的视角。 |
setVisible(visible:Boolean)
|
none
|
设置街景查看器的显示状态。 |
setZoom(zoom:Number)
|
LatLng
|
设置缩放级别,没有动画。5>zoom>0 |
属性
名称 | 类型 | 说明 |
---|---|---|
controls |
Array.<MVCArray.<HTMLDivElement>>
|
在街景上添加自定义控件 |
事件
事件名 | 参数 | 说明 |
---|---|---|
pano_changed
|
none
|
场景的id发生改变时会触发此事件。 |
pov_changed
|
none
|
俯仰角发生改变时会触发此事件。 |
zoom_changed
|
none
|
街景显示器的放大级别发生改变时会触发此事件。 |
visible_changed
|
none
|
显示/隐藏状态发生变化时会触发此事件。 |
pano_changed
|
none
|
场景的经纬度发生改变时会触发此事件。 |
error
|
none
|
场景发生点加载失败的时候触发此事件。 |
loaded
|
none
|
flash加载成功的时候触发此事件。 |
实例
本示例中,介绍如何在div容器中创建街景
var init = function() { // 创建街景 var pano = new qq.maps.Panorama(document.getElementById('pano_holder')); pano.setOptions({ //显示移动箭头显示状态 disableMove: false, //隐藏罗盘显示状态 disableCompass: true }); //设置默认的场景 pano.setPano('10011001120131111029111'); //设置查看视角 pano.setPov({ heading: 20, pitch: 15 }); //设置缩放级别,0<zoom<5 pano.setZoom(1); //设置缩放触发事件 qq.maps.event.addDomListener(pano, 'zoom_changed', function() { alert('缩放了街景地图级别:' + pano.getZoom()); }); //显示该街景的id document.getElementById("pano_id").innerHTML = "该街景的ID为:" + pano.getPano(); }
<!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 type="text/css"> * { margin: 0px; padding: 0px; } body, button, input, select, textarea { font: 12px/16px Verdana, Helvetica, Arial, sans-serif; } p { width: 603px; padding-top: 3px; overflow: hidden; } </style> <script src="https://map.qq.com/api/js?v=2.exp&key=d84d6d83e0e51e481e50454ccbe8986b"></script> </head> <body onLoad="init()"> <script> var init = function() { // 创建街景 var pano = new qq.maps.Panorama(document.getElementById('pano_holder')); pano.setOptions({ //显示移动箭头显示状态 disableMove: false, //隐藏罗盘显示状态 disableCompass: true }); //设置默认的场景 pano.setPano('10011001120131111029111'); //设置查看视角 pano.setPov({ heading: 20, pitch: 15 }); //设置缩放级别,0<zoom<5 pano.setZoom(1); //设置缩放触发事件 qq.maps.event.addDomListener(pano, 'zoom_changed', function() { alert('缩放了街景地图级别:' + pano.getZoom()); }); //显示该街景的id document.getElementById("pano_id").innerHTML = "该街景的ID为:" + pano.getPano(); } </script> <div style="width:603px;height:300px" id="pano_holder"></div> <p>缩放街景地图时,弹出缩放地图的级别</p> <div style="width:603px;height:300px" id="pano_id"></div> </body> </html>
相关文章
- PanoramaService
-
介绍如何通过经纬度获取街景场景点(panoid)信息
- PanoramaLayer
-
介绍如何在地图中展现有街景数据的区域