Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

MapPrint problem

623970Mar 5 2009 — edited Mar 6 2009
Hello everyone. I'm having a problem printing maps using the MapPrint javascript. This was working fine for me when I had a single base map, and everything printed fine. However, I needed to create multiple base routes, and now when I try to print my 'feature of interest' prints ok, but none of my base maps print. I can print the map using internet explorer's print, but not using MapPrint(). Below is my code. If anyone can tell me what I'm doing wrong I would greatly appreciate it. Thanks.







<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Oracle MapViewer Mapping Application</title>
<link rel=stylesheet" tye="text/css" href="../t.css" />
<style type="text/css">
@media screen
{
.noscreen {display: none;}
}

@media print
{
.noprint{display: none;}
}
</style>

<script language="Javascript" src="/mapviewer/fsmc/jslib/oraclemaps.js"></script>
<script language="JavaScript" type="text/javascript">
function getParams() {
var idx = document.URL.indexOf('?');
var tempParams = new Object();
if (idx != -1) {
var pairs = document.URL.substring(idx+1, document.URL.length).split('&');
for (var i=0; i<pairs.length; i++) {
nameVal = pairs.split('=');
tempParams[nameVal[0]] = nameVal[1];
}
return tempParams;
}
}
var params = getParams();
</script>
<script language=javascript>
var mapview;
var basemap1 = new MVBaseMap("ds_prod.prod_rdlg_qry");
var basemap2 = new MVBaseMap("ds_prod.interstate", "", true);
basemap2.setTransparent(true);
var basemap3 = new MVBaseMap("ds_prod.primary", "", true);
basemap3.setTransparent(true);
var basemap4 = new MVBaseMap("ds_prod.secondary", "", true);
basemap4.setTransparent(true);
var basemap5 = new MVBaseMap("ds_prod.urban", "", true);
basemap5.setTransparent(true);
var basemap6 = new MVBaseMap("ds_prod.base_routes", "", true);
basemap6.setTransparent(true);
var legend;
var mapCenterX;
var mapCenterY;
var mapSize;
var baseURL;
var dataSource;
var cachedMap;

function cursor_wait() {
document.body.style.cursor = "wait";
}

function cursor_clear() {
document.body.style.cursor = "default";
}

function showMap()
{
//alert('At showMap');
baseURL = "http://mdthlnvmpu008:7777/mapviewer/";
var mapZoom = 4;
mapCenterX = params["centerX"];
mapCenterY = params["centerY"];
mapSize = params["size"];
dataSource = params["dataSource"];
cachedMap = params["basemap"];
var IntCenterX = parseInt(mapCenterX);
var IntCenterY = parseInt(mapCenterY);
// document.write(typeof(IntCenterY));
var mpoint = MVSdoGeometry.createPoint(IntCenterX,IntCenterY,41079);
// document.write(typeof(mpoint));
mapview = new MVMapView(document.getElementById("map"), baseURL);
mapview.addBaseMapLayer(basemap1);
mapview.addBaseMapLayer(basemap2);
mapview.addBaseMapLayer(basemap3);
mapview.addBaseMapLayer(basemap4);
mapview.addBaseMapLayer(basemap5);
mapview.addBaseMapLayer(basemap6);
basemap1.setVisible (true);
basemap2.setVisible (false);
basemap3.setVisible (false);
basemap4.setVisible (false);
basemap5.setVisible (false);
basemap6.setVisible (false);
mapview.setCenter(mpoint);
mapview.setZoomLevel(mapZoom);
addThemeBasedFOI();

//alert('Working ...');

var themebasedfoi = new MVThemeBasedFOI('themebasedfoi','ds_prod.roadlog_with_geom');
themebasedfoi.addEventListener("mouse_click", foiClick);
mapview.addThemeBasedFOI(themebasedfoi);

//alert('Done');

mapview.addNavigationPanel("WEST");
//test code
mapview.display();

mapview.addScaleBar();

var html = buildLegend(baseURL);

legend = new MVMapDecoration(html,null,null,200,350);
legend.setCollapsible(true);
mapview.addMapDecoration(legend);
//alert('At showMap end');
}
function foiClick(point,foi)
{
var htmlString = "<UL><LI>attrs="+foi.attrs+"</UL>";
mapview.displayInfoWindow(point, htmlString,400,100);
//window.open('http://www.oracle.com','mywindow');
}

function addThemeBasedFOI()
{
var themebasedfoi1 = new MVThemeBasedFOI('themebasedfoi1','ds_prod.roadlog_with_geom');
mapview.addThemeBasedFOI(themebasedfoi1);
}

function setVisible(item)
{
var basemap = eval(item.value);
basemap.setVisible(!basemap.isVisible());
}
function zoomIn()
{
mapview.zoomIn();
}

function zoomOut()
{
mapview.zoomOut();
}
function buildLegend(baseURL)
{
var html = " <table border=0> <tr><td><img src="+baseURL+"/omserver?sty=L.TIS_SEL_ROADLOG_LRS&w=45&h=20&ds=ds_prod></td><td> Queried Records </td></tr>" +
" <tr><td><img src="+baseURL+"/omserver?sty=L.INTERSTATE&w=45&h=20&ds=ds_prod></td><td> Interstates </td></tr>" +
" <tr><td><img src="+baseURL+"/omserver?sty=L.PRIMARY&w=45&h=20&ds=ds_prod></td><td> Primaries </td></tr>" +
" <tr><td><img src="+baseURL+"/omserver?sty=L.SECONDARY&w=45&h=20&ds=ds_prod></td><td> Secondaries </td></tr>" +
" <tr><td><img src="+baseURL+"/omserver?sty=L.URBAN&w=45&h=20&ds=ds_prod></td><td> Urbans </td></tr>" +
" <tr><td><img src="+baseURL+"/omserver?sty=C.CITY_BOUND&w=45&h=20&ds=ds_prod></td><td> Cities </td></tr>" +
" <tr><td><img src="+baseURL+"/omserver?sty=L.COUNTY_BOUNDARY&w=20&h=20&ds=ds_prod></td><td> Counties </td></tr>" +
" <tr><td><img src="+baseURL+"/omserver?sty=L.URBAN_BOUNDARY&w=20&h=20&ds=ds_prod></td><td> Urban Areas </td></tr>" +
" <tr><td><img src="+baseURL+"/omserver?sty=L.RESERVATION_BOUNDARY&w=20&h=20&ds=ds_prod></td><td> Ind. Reservations </td></tr>" +
" <tr><td><img src="+baseURL+"/omserver?sty=M.REF_POST&w=20&h=20&ds=ds_prod></td><td> Ref Posts </td></tr>" +
" <tr><td><img src="+baseURL+"/omserver?sty=M.SHIELD1&w=20&h=20&ds=ds_prod></td><td> Interstates </td></tr>" +
" <tr><td><img src="+baseURL+"/omserver?sty=M.SHIELD2&w=20&h=20&ds=ds_prod></td><td> US Routes </td></tr>" +
" <tr><td><img src="+baseURL+"/omserver?sty=M.STATE_ROUTE&w=20&h=20&ds=ds_prod></td><td> State Routes </td></tr>" +
" <tr><td><img src="+baseURL+"/omserver?sty=BASE_ROUTES&w=20&h=20&ds=ds_prod></td><td> Base Routes </td></tr>" +
"</table>";
return html;
}
function marqueeZoom()
{
mapview.startMarqueeZoom("continuous");
}

function noMarqueeZoom()
{
mapview.stopMarqueeZoom();
}
function mapPrint()
{
var a=document.getElementById("printmap");
mapview.print(a);
}

</script>
</head>


<body onload="javascript:showMap();">
<h2> Roadlog Map Display </h2>
<table align="right">
<font color="red">
Click <a href="javascript:mapPrint()">here</a> to print map
</font>
</table>

<table>
<b>Tools:</b>
<table border="2">
<tr>
<td><a href="javascript:marqueeZoom()"><img src="zoomlayer.gif" border=0></a></td>
<td>Enable Zoom With Fence</td>
</tr>
<tr>
<td><a href="javascript:noMarqueeZoom()"><img src="rmlayer.gif" border=0></a></td>
<td>Disable Zoom With Fence</td>
</table>

<b>Themes: </b>(check/uncheck)

<table border="2">
<tr>
<td> <INPUT TYPE="checkbox" value="basemap6" onclick="setVisible(this)" unchecked/>Base Routes </td>
<td> <INPUT TYPE="checkbox" value="basemap2" onclick="setVisible(this)" unchecked/>Interstates </td>
<td> <INPUT TYPE="checkbox" value="basemap3" onclick="setVisible(this)" unchecked/>Primaries </td>
<td> <INPUT TYPE="checkbox" value="basemap4" onclick="setVisible(this)" unchecked/>Secondaries </td>
<td> <INPUT TYPE="checkbox" value="basemap5" onclick="setVisible(this)" unchecked/>Urbans </td>
</tr>
</table>
<b> Querying of routes which cover a large part of the state
<u>may</u> take several minutes to render. Please wait until
the queried route sections (those appearing in "<font color="purple">purple</font>") appear
on the screen before proceeding !!
</b>
</table>
<div id="map" style="left:0px; top:10px; width:100%; height:90%"></div>
<div id="printmap" class="noscreen"></div>
</body>
</html>
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 3 2009
Added on Mar 5 2009
2 comments
907 views