先看效果:

外景图

内景图:

具体代码:

<!DOCTYPE html>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="viewport" content="initial-scale=1.0, user-scalable=no" /><style type="text/css">body, html{width: 100%;height: 100%;margin:0;font-family:"微软雅黑";}#panorama {width:100%; height: 700px;}#normal_map {height:30%;overflow: hidden;}</style><script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=nM6b0uVs6gIEduv79AbvO8FhvB4OIuWe"></script><title>显示/隐藏室内景切换控件</title>
</head>
<body><div id="panorama"></div><a title="退出室内景" id="sn" style="display:none;z-index: 1201; position: absolute;right: 60px;top:10px;width: 89px;cursor: pointer;height: 40px;line-height:40px;color: #ebedf0;border-radius: 3px;background-color: rgba(37,37,37,.9);background-image: url(http://api0.map.bdimg.com/images/panorama/indoor_exit.png);background-repeat: no-repeat;background-position: 15px 12px;"><span style="margin-right: 12px; float: right;">出口</span></a><div id="normal_map"></div>
</body>
</html>
<script type="text/javascript">var point = new BMap.Point(108.907521,34.252937);var i=0;var panorama = new BMap.Panorama('panorama'); //全景室内景切换控件默认为显示panorama.setId('09021500121707230958068052D');panorama.setPov({pitch: -7.624776772858846, heading: 274.0812660194958});var labelPosition = new BMap.Point(108.907521,34.252937);var labelOptions = {position: labelPosition,altitude:-38.35447149293418};//设置标注点的经纬度位置和高度var label = new BMap.PanoramaLabel('丰庆公园入口', labelOptions);panorama.addOverlay(label);//在全景地图里添加该标注label.addEventListener('click', function() { //给标注点注册点击事件i=1;panorama.setOptions({albumsControl: true });panorama.setId('0802150000150210110732050UZ');label.hide();document.getElementById("sn").style.display='block';});document.getElementById("sn").onclick = function(){ i=0panorama.setId('09021500121707230958068052D');document.getElementById("sn").style.display='none';label.show();panorama.setOptions({albumsControl: false });};panorama.addEventListener('error', function () {alert('该区域没有全景地图!');panorama.hide();document.getElementById("panorama").style.display='none';document.getElementById("normal_map").style.height='100%';});panorama.addEventListener('noresult', function () {alert('该区域没有全景地图!');panorama.hide();document.getElementById("panorama").style.display='none';document.getElementById("normal_map").style.height='100%';});panorama.addEventListener('position_changed', function(e){ //全景图位置改变后,普通地图中心点也随之改变if(i==1){return;}var pos = panorama.getPosition();point=new BMap.Point(pos.lng, pos.lat);map.setCenter(point);marker.setPosition(pos);});//普通地图展示var mapOption = {mapType: BMAP_NORMAL_MAP,maxZoom: 18,drawMargin:0,enableFulltimeSpotClick: true,enableHighResolution:true}var map = new BMap.Map("normal_map", mapOption);
//      var testpoint = new BMap.Point(118.097998, 24.484298);var testpoint = point;map.centerAndZoom(testpoint, 18);map.enableScrollWheelZoom(true);// 覆盖区域图层测试map.addTileLayer(new BMap.PanoramaCoverageLayer());var marker=new BMap.Marker(testpoint);marker.enableDragging();map.addOverlay(marker);  marker.addEventListener('dragend',function(e){panorama.setPosition(e.point); //拖动marker后,全景图位置也随着改变panorama.setPov({heading: -40, pitch: 6});});</script>

百度全景图/内景图切换示例相关推荐

  1. CSS精灵图代码示例

    什么是css Sprite 当用户访问一个网站时,浏览器会向服务器发送一系列请求,比如说网页上的每张图像都需要经过一次请求才能最终展示给用户.然而,一个网页中往往包含大量的图像资源(例如在页面中展示的 ...

  2. swiper轮播图切换指示点改变背景颜色

    swiper 官方api文档:https://www.swiper.com.cn/api/index.html 如果有一个页面中需要引用多个Swiper,可以给每个容器加上ID或Class区分,但是需 ...

  3. 百度以图搜图API介绍

    摘要: 使用Google或Baidu的以图搜图搜索女神的头像,便可尽收网络上该女神的所有"隐私"...,以图搜图隐私问题突出,各家都没有公开公共API,但多想想还是有办法的. 作者 ...

  4. 【微信开发】-发送位置获取周边信息及生成百度全景静态图API,主要代码在private function receiveLocation($object)

    百度地图全景静态图API与静态图API类似,可轻松实现将全景地图以图片形式嵌入到您的应用中.您只需要设置图片尺寸.经纬度坐标等参数,发送HTTP请求访问百度地图全景静态图服务,便可在您的PC浏览器.手 ...

  5. python机器学习可视化工具Yellowbrick介绍及平行坐标图实战示例

    python机器学习可视化工具Yellowbrick介绍及平行坐标图实战示例 目录 python机器学习可视化工具Yellowbrick介绍及平行坐标图实战示例 yellowbrick简介及安装

  6. 一款jQuery满屏自适应焦点图切换特效

    一款jQuery满屏自适应焦点图切换特效 ,自适应当前浏览器的宽度,可以作为网站整个大背景的却换效果,很不错的一款不jquery特效. 兼容性没的说直接秒杀了IE6.适用浏览器:IE6.IE7.IE8 ...

  7. 圆形和多边形雷达图python-Matplotlib绘制雷达图和三维图的示例代码

    1.雷达图 程序示例 '''1.空白极坐标图''' import matplotlib.pyplot as plt plt.polar() plt.show() '''2.绘制一个极坐标点''' im ...

  8. python 画三维函数图-如何用Matplotlib 画三维图的示例代码

    最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平面上呈现出立体感 三维的线图和散 ...

  9. python画三维立体图-如何用Matplotlib 画三维图的示例代码

    用Matplotlib画三维图 最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平 ...

最新文章

  1. 在Spring3中,配置DataSource的方法有五种
  2. webpack把源代码里面的console和debugger全部去掉_在webpack中,module、chunk和bundle到底是什么样的存在?...
  3. asp.net用户登录 用户验证
  4. Python学习笔记:匿名函数
  5. vue部署到服务器 接口调用不了_Python 调用 Azure API 实现服务器自动部署
  6. Xamarin.Forms客户端第一版
  7. 张左峰的歪理邪说 之 大话Redmine插件
  8. android+sim卡短信,android 信息(mms)开发(七)-- sim卡短信
  9. sklearn之Model Selection 估计器
  10. windows hosts 作用以及常见问题解决
  11. 洛谷P3958 奶酪
  12. 如何做好项目中的风险控制
  13. DreamweaverCS6破解安装
  14. Java经典兔子问题(10个月幼兔,小兔,成兔数量各多少对?)
  15. 俄罗斯方块游戏开发教程1:整体流程
  16. 斗鱼直播与熊猫直播竞品分析
  17. AB实验平台在贝壳找房的设计与实践
  18. Hadoop 3.x主要变化(相对于Hadoop 2.x)
  19. 博士申请 | 美国乔治梅森大学计算机系招收机器学习方向全奖博士生
  20. 杭电2094 产生冠军

热门文章

  1. 刚做测试工作一年的时候,我是怎样的?
  2. gitchat训练营深度学习入门读书笔记
  3. Leetcode第八题:字符串转换整数
  4. 单片机C语言C51的输入输出
  5. iOS arc weak指针原理
  6. HTML标签语义化,值得收藏!
  7. 【源码】基于lévy飞行的随机蛙跳算法及其在连续优化问题中的应用
  8. 一个领域中的红海和蓝海
  9. 201223,成交量异动检测
  10. MOV格式的视频应该如何转换成MP4格式的