`

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

    博客分类:
  • GIS
阅读更多
由于工作需要,现在要让自己的服务访问一个英国的对外开放地里信息资源的网站。
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。
  • 大小: 74.8 KB
  • 大小: 246.9 KB
2
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics