水经注离线谷歌卫星地图加载服务中间件调用示例 For Openlayers.docx
- 文档编号:18542283
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:9
- 大小:246.07KB
水经注离线谷歌卫星地图加载服务中间件调用示例 For Openlayers.docx
《水经注离线谷歌卫星地图加载服务中间件调用示例 For Openlayers.docx》由会员分享,可在线阅读,更多相关《水经注离线谷歌卫星地图加载服务中间件调用示例 For Openlayers.docx(9页珍藏版)》请在冰点文库上搜索。
水经注离线谷歌卫星地图加载服务中间件调用示例ForOpenlayers
水经注离线谷歌卫星地图加载服务中间件调用示例ForOpenLayers
1.说明
水经注离线谷歌卫星地图加载服务中间件可利用离线地图的.dat文件在本地建立服务端,并生成影像、标签、高程等服务地址,可以在Openlayers中直接调用该服务地址,并将请求到的服务资源显示在前端,当请求的地图资源不存在可通过网络直接下载缺失的地图,并储存在.dat文件中。
2.实现
2.1OpenLayers配置
在examples文件夹中新建名为OpenlayersMapSevice的html文件,在html文件中写入如下代码:
DOCTYPEhtml>
varlon=0;
varlat=20;
varzoom=1;
varmap,layer;
functioninit(){
map=newOpenLayers.Map("map",{
maxExtent:
newOpenLayers.Bounds(-180,-90,180,90),
numZoomLevels:
18,
maxResolution:
0.3515625,
units:
'degree',
projection:
"EPSG:
4326",
displayProjection:
newOpenLayers.Projection("EPSG:
4326")
});
layer=newOpenLayers.Layer.TMS("Name","../data/",{'type':
'jpg','getURL':
get_my_url});
map.addLayer(layer);
map.setCenter(newOpenLayers.LonLat(lon,lat).transform(map.displayProjection,map.getProjectionObject()),zoom);
}
functionget_my_url(bounds){
varres=this.map.getResolution();
varx=Math.round((bounds.left+180)/(res*this.tileSize.w))+1;
vary=Math.round((90-bounds.top)/(res*this.tileSize.h))+1;
varz=this.map.getZoom()+2;
varpath='http:
//127.0.0.1:
1002/getDefinedImage?
x='+x+'&y='+y+'&z='+z;
returnpath;
}
functiontlen(len,mystr){
mystr=String(mystr);
varnum=len-mystr.length;
for(vari=0;i<=num;i++)
{
mystr="0"+mystr;
}
returnmystr;
}
.smallmap{
width:
100%;
height:
800px;
border:
1pxsolid#ccc;
}