MapViewer学习笔记

Mapviewer 可以集成五种不同类型的地图图层

base map tiles layer(类似于arcgis的mxd文档)

theme based FOI layer(预先渲染好的MapViewer theme FOI)

user defined (individual) FOI layer(用户自定义的FOI)

Info Window Layer(用户自定图层)

Info Window Layer(信息弹出窗口)

Fixed Figures Layer(各种专题要素)

base map tiles layer:

一般作为背景图层,一个Base Map通常和服务器端的地图缓存(预先渲染切块好的Image 文件)实例相关联。可以利用MapBuilder 制作的Base Map和Tile Layers(见示例),也可以调用其他Map Provider,比如WMS服务等。

 

theme based FOI layer

利用MapViewer渲染好的FOI,可以借助js api来访问,还可以为每个图层自定义info-windows窗口。

User Defined FOI Layer

外部的服务图层(比如从A到B的最优路径服务),或是用自定义坐标画的geometry。

Info Window Layer

类似于google map的调出地图窗口。

Fixed Figures Layer

专题要素,比如比例尺 版权 鹰眼地图等等。

 

发布一个最简单的地图服务示例:

1 利用MapBuilder 制作的Base Map和Tile Layers

1.1 利用MapBuilder 制作的Base Map

启动MapBuilder,见我的另一篇Blogs:http://www.cnblogs.com/sirc/archive/2010/07/04/1771002.html

制作Base Map

左边Metadata中选中Base Maps图层 右键选择create base map

image

Next

 

image

输入base map名称和描述,next

image

选择已经渲染好的theme,具体如何渲染(见http://www.cnblogs.com/sirc/archive/2010/07/04/1771002.html),并选择添加要添加的theme图层

image

nexit 点击finish

以上类似arcgis制作mxd文档,是各个已经渲染好的图层的叠加。

1.2 利用MapBuilder 制作Tile Layer

选中Tile Layer 右键选择create tile layer

image

选择刚才创建好的base map

image

给tile_layer命名和描述

image

点击绿色箭头先预览地图,然后点击Update from map 得到上图,再点击zoom levels,进入缩放级别和比例尺定义界面

image

先缩放到想要切片的最大比例尺,然后minimum scale中点击from map 捕获当前地图比例尺

image

同理,缩放到想要切片的最小比例尺,然后再maxmum scale中点击from map

image

输入zoom levels 比如10,再点击generate 生成切片。

image

nexit

image

一路next知道完成 。

2 创建Data Source

2.1 进入mapviewer 管理界面 见http://www.cnblogs.com/sirc/archive/2010/07/04/1770875.html

image

点击右上角的admin进入管理登陆界面,用户名为oc4jadmin,密码为部署oc4j时定义的密码

image

进入后点击Manage MapViewer中的DataSources

image

image

输入相关信息后点击sumit进行提交

如此数据源创建完毕

点击Manage Map Tile layers

可以查看已经存在的Tile layers

image

3  制作地图显示网页

3.1 引用mapviewer js api脚本

<script language="Javascript" src="/mapviewer/fsmc/jslib/oraclemaps.js"></script>

3.2 定义一个div 用于显示地图区域

<div id="map" style="left:1%; top:1%; width:99%; height:99%"></div>

3.3 编写脚本

function showMap()
{

var baseURL = "http://"+document.location.host+"/mapviewer";
var mapCenterLon = -122.45;
var mapCenterLat = 37.6706;
var mpoint = MVSdoGeometry.createPoint(mapCenterLon,mapCenterLat,8307);
var mapZoom = 5;

var mapview = new MVMapView(document.getElementById("map"), baseURL);
mapview.addBaseMapLayer(new MVBaseMap("MB_TUTORIAL.BM_US"));

//MB_TUTORIAL.BM_US 即为:Data Source.Tile Layer 刚才创建的Data source名称和tile layer名称
mapview.setCenter(mpoint);
mapview.setZoomLevel(mapZoom);
mapview.addNavigationPanel("EAST");
mapview.display();

}

完整代码如下:

<html>
<head>
<script language="Javascript" src="/mapviewer/fsmc/jslib/oraclemaps.js"></script>
<script language=javascript>
function showMap()
{

var baseURL = "http://"+document.location.host+"/mapviewer";
var mapCenterLon = -122.45;
var mapCenterLat = 37.6706;
var mpoint = MVSdoGeometry.createPoint(mapCenterLon,mapCenterLat,8307);
var mapZoom = 5;

var mapview = new MVMapView(document.getElementById("map"), baseURL);
mapview.addBaseMapLayer(new MVBaseMap("MB_TUTORIAL.BM_US"));
mapview.setCenter(mpoint);
mapview.setZoomLevel(mapZoom);
mapview.addNavigationPanel("EAST");
mapview.display();

}
</script> 
</head>
<body onLoad="javascript:showMap();">
<div id="map" style="left:1%; top:1%; width:99%; height:99%"></div>
</body>
</html>

并把网页保存在mapviewer运行服务器上,比如D:\app\OracleBI\oc4j_bi\j2ee\home\applications\Spatial_MapView\web\Test.html

4 运行http://detaillee-pc:9704/mapviewer/test.html,既可浏览地图服务,如下图所示:

image 

转载请注明出处,谢谢!

Detail.lee

福州大学福建省空间信息工程研究中心

2010.07.05

转载于:https://www.cnblogs.com/sirc/archive/2010/07/05/1771287.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值