首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

在自各儿的服务中通过openspace.ordnancesurvey调用英国地理信息数据

2012-11-21 
在自己的服务中通过openspace.ordnancesurvey调用英国地理信息数据由于工作需要,现在要让自己的服务访问一

在自己的服务中通过openspace.ordnancesurvey调用英国地理信息数据
由于工作需要,现在要让自己的服务访问一个英国的对外开放地里信息资源的网站。
http://openspace.ordnancesurvey.co.uk/openspace/
首先登录上边的URI,注册一个帐号,帐号需要和自己的邮箱帮定,


在填写信息时注意,这个URL是你的服务的URL。比如你的服务器地址。
注册成功后,注册的信箱会收到一个mail,mail里给一个key,这个key和上边提到的URL是绑定的,这个过会再说。
现在,可以发布一个WEB服务,比如用TOMCAT,发布一个http://10.10.27.74:8080/map/map.html的服务。
map.html:

<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Open Space Tutorial - Example 1</title><script type="text/javascript" src="http://openspace.ordnancesurvey.co.uk/osmapapi/openspace.js?key=90C04855DFD7300DE0405F0AC8601A43"></script></head><body onload="init()"><script type="text/javascript">    var osMap;    function init()    {        osMap = new OpenSpace.Map('map');        osMap.setCenter(new OpenSpace.MapPoint(438760, 114760), 10);            }</script><h1>Displaying a marker on a map</h1><div id="map" style="width: 500px; height: 300px; border: 1px solid black;"></div></body></html>


这段代码,是从http://openspace.ordnancesurvey.co.uk/openspace/ 网站上COPY过来的一个BASIC MAP,只是一个例子。
<script type="text/javascript" src="http://openspace.ordnancesurvey.co.uk/osmapapi/openspace.js?key=90C04855DFD7300DE0405F0AC8601A43"></script>
这里的key,要填写刚才mail里收到的那个key。
现在,访问http://10.10.27.74:8080/map/map.html
结果:





上边是最简单的一个MAP,如果要发开一些其他功能,需要在那个网站上开发,然后生成JS CODE,把CODE COPY到自己的项目中去就行了。

有一个问题,http://10.10.27.74:8080/map/ 这个地址,是我公司里内网的地址,按说,把这个地址给那个openspace的网站,应该是不行的。可是事实上却成功了。想了下,大概就是因为,key和这个url是绑定的。也就是说,可能那个key是一个加密的串,对应着我的url。而且只是这个URL的值,所以我用浏览器访问的时候,经过验证,openspace那个网站发现,我的key和请求的url是合法的,所以允许这个页面调用他们那边的地理信息数据,而不关心,是否能访问到。

等于说,如果用一个外网的地址,访问http://10.10.27.74:8080/map/map.html 由于key和url合法,那,这个网页允许访问openspace提供的数据,但是,由于这个地址只是我在公司内网的地址,最终还是会看到404错误。

如果要在广域网实现这些,在注册的时候,URL填写广域网中的地址或者域名就是了。
如:百度要在 http://www.baidu.com/map/ 下使用openspace提供的这些东西,就在注册的时候填写这个url。

热点排行