作者LCHENAN (~!!)
看板Ajax
標題[問題] 有關Map的問題
時間Thu Apr 23 22:16:18 2009
各位前輩
小弟因為工作的需要 需要完成以下的目標
我也Google了很久,也看了Ajax技術手冊這本書
但是 一直沒有一個頭緒
煩請各位前輩能開導在下 拜託了
因為,已經研究了快一個月,下星期就要交 實在有很大的困難
目標如下:
製做一個如下的介面
----------------------------------------
平移 放大 縮小
-----------------------------------------
Map圖
--------------------------------------
其中,平移, 放大, 縮小 是一個Button
當我點選Button之後,就可去操作Map的圖
而Map的圖是使用MapXtreme java所產生的
而我想,這部份可以需要Ajax的技術
我的頁面的程式碼如下
我本身住在高雄,我願意請吃大餐或者以請家教的方式
來向您請教
因為,我卡了很久了 因為 我是從完全不會javascript jsp ajax開始學的
因此,或許有很多地方都打錯
希望能請人幫忙
<html>
<head>
<title></title>
<meta http-equiv="Content-Type"; charset="UTF-8">
<script type="text/javascript">
var xmlHttp;
var toolType;
var queryString;
function createXMLHttpRequest()
{
if (window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}
function handleStateChange()
{
if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200)
{
var responseDiv = document.getElementById("ShowMap");
if(responseDiv.hasChildNodes())
{
responseDiv.removeChild(responseDiv.childNodes[0]);
}
var responsetext = document.createTextNode(xmlHttp.responsetext);
//我個人覺得應該是這邊有問題
//因為我要輸出的是圖檔,但是這邊是文字
responseDiv.appendChild(responsetext);
}
}
}
function setImage()
{
createXMLHttpRequest();
queryString="";
queryString = "/MapServer?";
//這邊是說要使用MapServer這個Servlet,然後傳送toolType參數給Servlet
//至於這個Servlet的程式碼的輸出部份,我會PO在最後面
quertString = queryString+ "toolType=0&" + new Date().getTime();
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET", queryString, true);
xmlHttp.send(null);
}
function downloadmap()
{
setImage();
}
</script>
</head>
<body>
TODO write content
<div id="tabTool">
<input type="image" id="Select" src="images/select.gif" alt="選擇" onclick="downloadmap()" />
</div>
<div id="ShowMap">
</div>
</body>
</html>
拜託大家了! 感恩 謝謝!
如果有人願意 當家教 教我怎麼撰寫這部份的程式
我將非常非常的感謝
//=====================================================
Servlet程式碼輸出部份
private void resImg(MapJ myMap, HttpServletResponse res) throws Exception
{
try
{
myMap.setDeviceBounds(new DoubleRect(0, 0, m_mapWidth, m_mapHeight));
MapXtremeImageRenderer rr = new MapXtremeImageRenderer(m_mxtURL);
rr.render(ImageRequestComposer.create(myMap, NUM_OF_COLORS, BACKGROUND_COLOR, "image/gif"));
rr.toStream(res.getOutputStream());
}
catch(Exception e)
{
System.out.println(e.getMessage());
throw e;
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.125.136.75
1F:→ fillano:我想你不應該用ajax做,因為你的servlet傳回的是一個image 04/23 22:41
3F:→ fillano:的stream。你能用的方式,也許是動態改變img的src屬性吧? 04/23 22:42
4F:→ LCHENAN:感謝K版友的提供參考手冊,而因為那本手冊是MapInfo公司 04/24 08:57
5F:→ LCHENAN:所提供的開發者指南,在上面所說的都是使用Applet去開發 04/24 08:57
6F:→ LCHENAN:但基於主管的要求,要在Servlet開發,因此需要研究Ajax的 04/24 08:58
7F:→ LCHENAN:部份, 而那本手冊是有提供一個HTTPEmbeddedServlet的參考 04/24 08:58
8F:→ LCHENAN:檔案,我已大致上讀懂, 因此才會想說 Servlet的部份 04/24 08:59
9F:→ LCHENAN:使用他們的方式去撰寫, 而網頁的部份, 則是使用Ajax 04/24 08:59
10F:→ LCHENAN:來向Server端抓取資料,我有參考了 04/24 09:00
12F:→ LCHENAN:但因為對Ajax-Dodj看不太懂,因此想請問各位版友們 04/24 09:01
13F:→ LCHENAN:有關這部份的資訊 04/24 09:01
14F:→ fillano:你從foxlee的blog拿來的程式,是用dojo來做,你不用dojo, 04/24 09:48
15F:→ fillano:那要自己實作一堆圖形特效的javascript才有辦法做出來。 04/24 09:49