欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

soso街景视图 开发指南

shiping1 的头像

介绍

街景API,是构建在v2版本上的全新应用接口,对于目的地,可以让用户足不出户,得到更直观、更真切 的身临其境的体验,比如,您可以就用在 房产、酒店、餐饮、娱乐、在线旅游等领域,另外还有更多使用场景等待你的发现!

数据开放程度:

SOSO街景API将为开发者提供与SOSO地图完全相同的全量数据,且与SOSO地图街景保持同步更新

数据覆盖范围:

目前街景覆盖城市请点击查看 [街景城市],详细路网覆盖范围请进入SOSO 地图(http://map.soso.com),点击街景按钮,,将显示蓝色路网,即代表街景所覆盖的道路。

使用流程

申请开发密钥(key)

使用街景api时,开发者必须先 [申请密钥] ,街景API对于 无key 或 错key 的情况,会受到一定程度的限制,为了保证您的正常及稳定的使用,请一定注意确保无误。

对于密钥的申请没有任何限制,您只需非常简单的几个步骤即可获得。

在引用api时设置key:
<script src="http://map.soso.com/api/v2/main.js?key=d84d6d83e0e51e481e50454ccbe8986b"></script>
<script src="http://map.soso.com/api/v2/main.js?key=d84d6d83e0e51e481e50454ccbe8986b"></script>
配置Web服务:

因为Flash权限上的一些限制,街景api需要在有Web服务的情况下才能正常使 用,windows环境可以使用IIS或其它一些更轻量级的Web服务器软件,Linux可用apache/nginx等,配置完成后通过 localhost进行调试使用(发布上线,用域名/ip访问不存在这个问题):


Hello world!
<script charset="utf-8" src="http://map.soso.com/api/v2/main.js?key=d84d6d83e0e51e481e50454ccbe8986b"></script>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>街景-Hello world</title>
<script charset="utf-8" src="http://map.soso.com/api/v2/main.js?key=d84d6d83e0e51e481e50454ccbe8986b"></script>
<script>
var init = function(){
	pano_container=document.getElementById('PanoCtn');	//街景容器
	pano = new soso.maps.Panorama(pano_container, {
		pano: '10011501120802180635300',	//场景ID
		pov:{	//视角
				heading:1,	//偏航角
				pitch:0		//俯仰角
			},
		zoom:1		//缩放
	})
}
</script>
</head>
<body onload="init()">
	<div id="PanoCtn" style="width:500px;height:300px"></div>
</body>
</html>

概念及基本使用方法

场景(pano):

一个360度的全景即为一个场景(街景是由无数个场景组成的),每一个场景都有自己的一个唯一标识,我们称为“PanoId”

视角(pov):

偏航角(heading):与正北方向的夹角,顺时针一周为360度

俯仰角(pitch):简单的说就是抬头或低头的角度,水平为0度,低头为0至90度,抬头为0至-90度,

缩放(zoom):分为1至4级,像望远镜一样,4级放得最大,看得最远

吸附:

通过某点经纬度获取指定半径内其最近街景场景信息(包括panoId、场景所在坐标等)。

API为:soso.maps.PanoramaService.getPano(position:LatLng, radius:Number, callback:Function) [使用示例]

下图示意:给定A点坐标,范围100米,取最近街景场景信息,正好是B点,获取到B点的街景信息后,就可以通过API显示出街景了!

小贴士:怎么让B点的街景视线朝向A?

吸附得到的B点场景信息中,包含着B点的坐标,通过两点的坐标运算,可计算出B点面向A点的heading,是不是感觉很难?没关系,点下边的示例,把代码拷走就行了![查看算法及示例]

街景图层(蓝色高亮路网):

显示街景道路覆盖范围的地图叠加层:

API为:soso.maps.PanoramaLayer() [使用示例]

来自 http://api.map.soso.com/doc_v2/guide-pano.html

 

普通分类: