<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>纯情小火鸡</title>
    <description></description>
    <link>http://hyowner666.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>用GWT处理用鼠标拖动图片的问题</title>
        <author>纯情小火鸡</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hyowner666.javaeye.com">纯情小火鸡</a>&nbsp;
          链接：<a href="http://hyowner666.javaeye.com/blog/189780" style="color:red;">http://hyowner666.javaeye.com/blog/189780</a>&nbsp;
          发表时间: 2008年05月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          用的是GWT,做的是用鼠标拖拽图片 让图片旋转的功能,用的是image.addMouseListener(new MouseListener(){});事件的方法,为什么当我按住鼠标在拖拽图片的时候 当鼠标按钮松开后图片为什么还随着鼠标的移动而移动呢?(这时候是没按住按钮的情况),而我想要实现的是当按下鼠标按钮时 拖动一点图片就转一下,而当松开按钮后图片也就停止在当前的状态,不会动(旋转)了,是不是GWT的鼠标事件不支持这种效果呢?
          <br/>
          <span style="color:red;">
            <a href="http://hyowner666.javaeye.com/blog/189780#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 05 May 2008 16:13:29 +0800</pubDate>
        <link>http://hyowner666.javaeye.com/blog/189780</link>
        <guid>http://hyowner666.javaeye.com/blog/189780</guid>
      </item>
      <item>
        <title>EXT 咨询些问题</title>
        <author>纯情小火鸡</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hyowner666.javaeye.com">纯情小火鸡</a>&nbsp;
          链接：<a href="http://hyowner666.javaeye.com/blog/185724" style="color:red;">http://hyowner666.javaeye.com/blog/185724</a>&nbsp;
          发表时间: 2008年04月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          刚想接触EXT 请问下用EXT可以做地图方面的开发吗?我现在用的是Eclipse3.3.1+MyEclipse6.0.1+GWT Designer 我想要用EXT做地图这方面的需要装些什么呢?
          <br/>
          <span style="color:red;">
            <a href="http://hyowner666.javaeye.com/blog/185724#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 23 Apr 2008 09:51:23 +0800</pubDate>
        <link>http://hyowner666.javaeye.com/blog/185724</link>
        <guid>http://hyowner666.javaeye.com/blog/185724</guid>
      </item>
      <item>
        <title>用GWT做地图在给地图加标记时的疑问</title>
        <author>纯情小火鸡</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hyowner666.javaeye.com">纯情小火鸡</a>&nbsp;
          链接：<a href="http://hyowner666.javaeye.com/blog/173414" style="color:red;">http://hyowner666.javaeye.com/blog/173414</a>&nbsp;
          发表时间: 2008年03月18日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          就是我最近用了GWT做地图,在做到加标记这个功能的时候遇到了很棘手的问题,就是我的地图是这样加载形成的:<br />                 <span style="color: red"> mapGrid = new FlexTable();<br />		mapGrid.setCellPadding(0);<br />		mapGrid.setCellSpacing(0);<br />		<br />		mapGrid.addTableListener(listener);<br />		<br />		fillMapGrid();<br />	         viewArea.add(mapGrid);</span>	<br />fillMapGrid()方法如下:<br />          public void fillMapGrid(){<br />		for(int i = 0 ;i &lt; 8 ; i++){<br />			for(int j = 0 ;j &lt; 13 ; j++){<br />				/**<br />				 * 将地图（图片）上的默认浏览器行为除去。<br />				 */<br />				Image image = new Image(){<br />					/**<br />					 * 这个部分必须紧跟在实例化过程的后面，不然就不起    作   用，没有在官方文档里找到原因。<br />					 */<br />						 public void onBrowserEvent (Event event)<br />		                 {<br />		                     DOM.eventPreventDefault(event);<br />		                     super.onBrowserEvent(event);<br />		                 }<br /><br />				};<br />									image.setUrl("images/2/2_" + i + "_" + j + ".JPG");<br />				<br />				image.setPixelSize(256, 256); //图像块的大小<br />				mapGrid.setWidget(i, j, image);			}<br />		}<br />	}<br />这个方法是加载组成地图的方法,就这样的 现在我做了一个按钮(添加标记的按钮) 当点击的时候能在地图上加个标记(标记是个.gif的图片),现在我用GWT中的PopupPanel方法在指定点(取的相素x,y)加了一个标记,但是当我在移动地图的时候标记还是在那个位置并没有随地图的移动而移动,这是什么原因呢?在正常的情况下在地图上加了个标记后是会随 地图的移动而移动的,这是什么原因呢?
          <br/>
          <span style="color:red;">
            <a href="http://hyowner666.javaeye.com/blog/173414#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 18 Mar 2008 15:29:39 +0800</pubDate>
        <link>http://hyowner666.javaeye.com/blog/173414</link>
        <guid>http://hyowner666.javaeye.com/blog/173414</guid>
      </item>
      <item>
        <title>如何在做的地图上加标记以及放大缩小地图</title>
        <author>纯情小火鸡</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hyowner666.javaeye.com">纯情小火鸡</a>&nbsp;
          链接：<a href="http://hyowner666.javaeye.com/blog/166981" style="color:red;">http://hyowner666.javaeye.com/blog/166981</a>&nbsp;
          发表时间: 2008年03月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          我用GWT做了个简单的地图 是用image做的 这样<br />public void fillMapGridmin(){<br />		<br />		for(int i = 0 ;i &lt; 1 ; i++){<br />			for(int j = 0 ;j &lt; 1 ; j++){<br />				/**<br />				 * 将地图（图片）上的默认浏览器行为除去。<br />				 */<br />				Image image = new Image(){<br />					/**<br />					 * 这个部分必须紧跟在实例化过程的后面，不然就不起作用，没有在官方文档里找到原因。<br />					 */<br />						 public void onBrowserEvent (Event event)<br />		                 {<br />		                     DOM.eventPreventDefault(event);<br />		                     super.onBrowserEvent(event);<br />		                 }<br /><br />				};<br />				<br />				image.setUrl("images/min/1_" + i + "_" + j + ".JPG");<br />				image.setPixelSize(256, 256); //图像块的大小<br />				mapGridmin.setWidget(i, j, image);<br />				centerLeft = (int) ((areaWidth - this.imageWidth) * showPositionLeftRatio);<br />				centerTop = (int) ((areaHeight - this.imageHeight) * showPositionTopRatio);<br />			}<br />		}<br />	}<br />用这种方式建的,现在就是我如何在地图上加标记和实现它的放大缩小功能呢?????请教
          <br/>
          <span style="color:red;">
            <a href="http://hyowner666.javaeye.com/blog/166981#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 03 Mar 2008 16:11:31 +0800</pubDate>
        <link>http://hyowner666.javaeye.com/blog/166981</link>
        <guid>http://hyowner666.javaeye.com/blog/166981</guid>
      </item>
      <item>
        <title>用GWT做地图</title>
        <author>纯情小火鸡</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hyowner666.javaeye.com">纯情小火鸡</a>&nbsp;
          链接：<a href="http://hyowner666.javaeye.com/blog/162081" style="color:red;">http://hyowner666.javaeye.com/blog/162081</a>&nbsp;
          发表时间: 2008年02月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          我们现在就是需要用GWT来做一个类似于googleMap那样的地图,因为以前没接触过GWT,现在我想做的是如何把已经切割好的地图图片动态的加载到页面中去?用GWT这个框架来做该如何去做呢?
          <br/>
          <span style="color:red;">
            <a href="http://hyowner666.javaeye.com/blog/162081#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 13 Feb 2008 16:19:45 +0800</pubDate>
        <link>http://hyowner666.javaeye.com/blog/162081</link>
        <guid>http://hyowner666.javaeye.com/blog/162081</guid>
      </item>
      <item>
        <title>GWT做地图</title>
        <author>纯情小火鸡</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hyowner666.javaeye.com">纯情小火鸡</a>&nbsp;
          链接：<a href="http://hyowner666.javaeye.com/blog/162075" style="color:red;">http://hyowner666.javaeye.com/blog/162075</a>&nbsp;
          发表时间: 2008年02月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          我们现在就是需要用GWT来做一个类似于googleMap那样的地图,因为以前没接触过GWT,现在我想做的是如何把已经切割好的地图图片动态的加载到页面中去?
          <br/>
          <span style="color:red;">
            <a href="http://hyowner666.javaeye.com/blog/162075#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 13 Feb 2008 15:55:57 +0800</pubDate>
        <link>http://hyowner666.javaeye.com/blog/162075</link>
        <guid>http://hyowner666.javaeye.com/blog/162075</guid>
      </item>
      <item>
        <title>模仿Google Maps的MapViewer</title>
        <author>纯情小火鸡</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hyowner666.javaeye.com">纯情小火鸡</a>&nbsp;
          链接：<a href="http://hyowner666.javaeye.com/blog/160327" style="color:red;">http://hyowner666.javaeye.com/blog/160327</a>&nbsp;
          发表时间: 2008年01月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          &lt;div class="quote_title">sheva.wen 写道&lt;/div>&lt;div class="quote_div">&lt;p>下面要写的东西是一个使用GWT编写的在有限区域内通过拖动查看整个地图的简单实现。&lt;/p>&lt;p>&nbsp;&lt;strong>一些细节：&lt;/strong>&lt;/p>&lt;ol style="margin-right: 0px">&lt;li>为什么能拖？ &lt;p>&lt;span style="font-family: Arial">&lt;a href="http://code.google.com/webtoolkit/documentation/com.google.gwt.user.client.ui.MouseListener.html">com.google.gwt.user.client.ui.MouseListener&lt;/a>&nbsp;通过实现这个接口，可以实现UI对象对鼠标的Enter,Down,Leave,Move,Up动作的支持。&lt;/span>&lt;/p>&lt;p>&lt;span style="font-family: Arial">&lt;span style="font-family: Arial">&lt;a href="http://code.google.com/webtoolkit/documentation/com.google.gwt.user.client.ui.FocusPanel.html">com.google.gwt.user.client.ui.FocusPanel&lt;/a>&nbsp;并不是每个UI对象都能够实现MouseListener接口的，可以通过添加到FocusPanel来实现。&lt;/span>&lt;/span>&lt;/p>&lt;span style="font-family: Arial">&lt;/span>&lt;/li>&lt;li>怎么才能显示地图的局部，或者说怎么把其他部分藏起来？ &lt;/li>&lt;/ol>&lt;blockquote dir="ltr" style="margin-right: 0px">&lt;p dir="ltr">通过样式：&lt;/p>&lt;div class="code_title">java 代码&lt;/div>&lt;div class="dp-highlighter">&lt;ol class="dp-j">&lt;li class="alt">&lt;span>&lt;span>DOM.setStyleAttribute(viewPortArea.getElement(),&nbsp;&lt;/span>&lt;span class="string">&quot;overflow&quot;&lt;/span>&lt;span>,&nbsp;&lt;/span>&lt;span class="string">&quot;hidden&quot;&lt;/span>&lt;span>); &nbsp;&nbsp;&lt;/span>&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>DOM.setStyleAttribute(viewPortArea.getElement(),&nbsp;&lt;/span>&lt;span class="string">&quot;position&quot;&lt;/span>&lt;span>,&lt;/span>&lt;span class="string">&quot;relative&quot;&lt;/span>&lt;span>);&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;/ol>&lt;/div>&lt;p>设置显示区域的&quot;overflow&quot;属性为&quot;hidden&quot;及&quot;position&quot;属性为&quot;relative&quot;，图片可以实现局部显示显示框内。&lt;/p>&lt;/blockquote>&lt;p dir="ltr">&lt;strong>代码：&lt;/strong>&lt;/p>&lt;blockquote dir="ltr" style="margin-right: 0px">&lt;div class="code_title">java 代码&lt;/div>&lt;div class="dp-highlighter">&lt;ol class="dp-j">&lt;li class="alt">&lt;span>&lt;span class="keyword">package&lt;/span>&lt;span>&nbsp;cn.gov.imwb.client; &nbsp;&nbsp;&lt;/span>&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span class="keyword">import&lt;/span>&lt;span>&nbsp;com.google.gwt.user.client.DOM; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span class="keyword">import&lt;/span>&lt;span>&nbsp;com.google.gwt.user.client.Event; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span class="keyword">import&lt;/span>&lt;span>&nbsp;com.google.gwt.user.client.ui.AbsolutePanel; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span class="keyword">import&lt;/span>&lt;span>&nbsp;com.google.gwt.user.client.ui.Composite; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span class="keyword">import&lt;/span>&lt;span>&nbsp;com.google.gwt.user.client.ui.FocusPanel; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span class="keyword">import&lt;/span>&lt;span>&nbsp;com.google.gwt.user.client.ui.Image; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span class="keyword">import&lt;/span>&lt;span>&nbsp;com.google.gwt.user.client.ui.MouseListener; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span class="keyword">import&lt;/span>&lt;span>&nbsp;com.google.gwt.user.client.ui.Widget; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span class="comment">/** &lt;/span>&nbsp; &lt;/li>&lt;li class="alt">&lt;span>&lt;span class="comment">&nbsp;*&nbsp;@author&nbsp;sheva.wen &lt;/span>&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&lt;span class="comment">&nbsp;* &lt;/span>&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&lt;span class="comment">&nbsp;*/&lt;/span>&lt;span>&nbsp;&nbsp;&lt;/span>&lt;/span> &lt;/li>&lt;li>&lt;span class="keyword">public&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">class&lt;/span>&lt;span>&nbsp;MapViewerPanel&nbsp;&lt;/span>&lt;span class="keyword">extends&lt;/span>&lt;span>&nbsp;Composite&nbsp;{ &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">public&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;areaHeight; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">public&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;areaWidth; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">public&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;centerLeft; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">public&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;centerTop; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">public&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;imageHeight; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">public&lt;/span>&lt;span>&nbsp;String&nbsp;imageUrl; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">public&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;imageWidth; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">public&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;maxLeft; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">public&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;maxTop; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">public&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;minLeft; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">public&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;minTop; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">private&lt;/span>&lt;span>&nbsp;Image&nbsp;image; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">private&lt;/span>&lt;span>&nbsp;FocusPanel&nbsp;mouseListenerContainer; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">public&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">double&lt;/span>&lt;span>&nbsp;showPositionLeftRatio; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">public&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">double&lt;/span>&lt;span>&nbsp;showPositionTopRatio; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">private&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;startLeft; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">private&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;startTop; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">private&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;startX; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">private&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;startY; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">private&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;state&nbsp;=&nbsp;&lt;/span>&lt;span class="number">0&lt;/span>&lt;span>;&lt;/span>&lt;span class="comment">//用于判断当前用户的鼠标动作 &lt;/span>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">private&lt;/span>&lt;span>&nbsp;AbsolutePanel&nbsp;viewArea; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">private&lt;/span>&lt;span>&nbsp;AbsolutePanel&nbsp;viewPortArea&nbsp;=&nbsp;&lt;/span>&lt;span class="keyword">new&lt;/span>&lt;span>&nbsp;AbsolutePanel(); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="comment">/** &lt;/span>&nbsp; &lt;/li>&lt;li>&lt;span>&lt;span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp; &lt;/span>&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&lt;span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;areaWidth&nbsp;显示区域的宽 &lt;/span>&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&lt;span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;areaHeight&nbsp;显示区域的高 &lt;/span>&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&lt;span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;imageUrl&nbsp;地图的链接 &lt;/span>&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&lt;span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;imageWidth&nbsp;地图的宽 &lt;/span>&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&lt;span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;imageHeight&nbsp;地图的高 &lt;/span>&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&lt;span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;showPositionLeftRatio&nbsp;地图初始显示的位置&nbsp;最左占宽度的比例 &lt;/span>&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&lt;span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;showPositionTopRatio&nbsp;地图初始显示的位置&nbsp;最上占宽度的比例 &lt;/span>&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&lt;span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/&lt;/span>&lt;span>&nbsp;&nbsp;&lt;/span>&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">public&lt;/span>&lt;span>&nbsp;MapViewerPanel(&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;areaWidth,&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;areaHeight,&nbsp;String&nbsp;imageUrl, &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;imageWidth,&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;imageHeight,&nbsp;&lt;/span>&lt;span class="keyword">double&lt;/span>&lt;span>&nbsp;showPositionLeftRatio, &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">double&lt;/span>&lt;span>&nbsp;showPositionTopRatio)&nbsp;{ &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mouseListenerContainer&nbsp;=&nbsp;&lt;/span>&lt;span class="keyword">new&lt;/span>&lt;span>&nbsp;FocusPanel(viewPortArea); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;viewArea&nbsp;=&nbsp;&lt;/span>&lt;span class="keyword">new&lt;/span>&lt;span>&nbsp;AbsolutePanel(); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="comment">/** &lt;/span>&nbsp; &lt;/li>&lt;li class="alt">&lt;span>&lt;span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;将地图（图片）上的默认浏览器行为除去。 &lt;/span>&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&lt;span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/&lt;/span>&lt;span>&nbsp;&nbsp;&lt;/span>&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;image&nbsp;=&nbsp;&lt;/span>&lt;span class="keyword">new&lt;/span>&lt;span>&nbsp;Image(){ &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="comment">/** &lt;/span>&nbsp; &lt;/li>&lt;li class="alt">&lt;span>&lt;span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;这个部分必须紧跟在实例化过程的后面，不然就不起作用，没有在官方文档里找到原因。 &lt;/span>&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&lt;span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/&lt;/span>&lt;span>&nbsp;&nbsp;&lt;/span>&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">public&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">void&lt;/span>&lt;span>&nbsp;onBrowserEvent&nbsp;(Event&nbsp;event) &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DOM.eventPreventDefault(event); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">super&lt;/span>&lt;span>.onBrowserEvent(event); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;viewArea.add(image); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;image.setPixelSize(imageWidth,&nbsp;imageHeight); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;image.setUrl(imageUrl); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;viewPortArea.setPixelSize(areaWidth,&nbsp;areaHeight); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;viewPortArea.addStyleName(&lt;/span>&lt;span class="string">&quot;viewportViewer&quot;&lt;/span>&lt;span>); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DOM.setStyleAttribute(viewPortArea.getElement(),&nbsp;&lt;/span>&lt;span class="string">&quot;overflow&quot;&lt;/span>&lt;span>,&nbsp;&lt;/span>&lt;span class="string">&quot;hidden&quot;&lt;/span>&lt;span>); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DOM.setStyleAttribute(viewPortArea.getElement(),&nbsp;&lt;/span>&lt;span class="string">&quot;position&quot;&lt;/span>&lt;span>, &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="string">&quot;relative&quot;&lt;/span>&lt;span>); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;initWidget(mouseListenerContainer); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">this&lt;/span>&lt;span>.showPositionLeftRatio&nbsp;=&nbsp;showPositionLeftRatio; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">this&lt;/span>&lt;span>.showPositionTopRatio&nbsp;=&nbsp;showPositionTopRatio; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">this&lt;/span>&lt;span>.areaWidth&nbsp;=&nbsp;areaWidth; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">this&lt;/span>&lt;span>.areaHeight&nbsp;=&nbsp;areaHeight; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">this&lt;/span>&lt;span>.imageUrl&nbsp;=&nbsp;imageUrl; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">this&lt;/span>&lt;span>.imageWidth&nbsp;=&nbsp;imageWidth; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">this&lt;/span>&lt;span>.imageHeight&nbsp;=&nbsp;imageHeight; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="comment">/** &lt;/span>&nbsp; &lt;/li>&lt;li class="alt">&lt;span>&lt;span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;设置图片可被拖放的极限，防止图片被拖出边界 &lt;/span>&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&lt;span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/&lt;/span>&lt;span>&nbsp;&nbsp;&lt;/span>&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxLeft&nbsp;=&nbsp;imageWidth&nbsp;-&nbsp;areaWidth; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxTop&nbsp;=&nbsp;imageHeight&nbsp;-&nbsp;areaHeight; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;minLeft&nbsp;=&nbsp;-(imageWidth&nbsp;-&nbsp;areaWidth); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;minTop&nbsp;=&nbsp;-(imageHeight&nbsp;-&nbsp;areaHeight); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="comment">/** &lt;/span>&nbsp; &lt;/li>&lt;li>&lt;span>&lt;span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;地图初始应该在的位置 &lt;/span>&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&lt;span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/&lt;/span>&lt;span>&nbsp;&nbsp;&lt;/span>&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;centerLeft&nbsp;=&nbsp;(&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>)&nbsp;((areaWidth&nbsp;-&nbsp;imageWidth)&nbsp;*&nbsp;showPositionLeftRatio); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;centerTop&nbsp;=&nbsp;(&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>)&nbsp;((areaHeight&nbsp;-&nbsp;imageHeight)&nbsp;*&nbsp;showPositionTopRatio); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;viewPortArea.add(viewArea,&nbsp;centerLeft,&nbsp;centerTop); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="comment">/** &lt;/span>&nbsp; &lt;/li>&lt;li class="alt">&lt;span>&lt;span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;鼠标拖放的行为 &lt;/span>&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&lt;span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/&lt;/span>&lt;span>&nbsp;&nbsp;&lt;/span>&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MouseListener&nbsp;listener&nbsp;=&nbsp;&lt;/span>&lt;span class="keyword">new&lt;/span>&lt;span>&nbsp;MouseListener(){ &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">public&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">void&lt;/span>&lt;span>&nbsp;onMouseDown(Widget&nbsp;sender,&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;x,&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;y)&nbsp;{ &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state&nbsp;=&nbsp;&lt;/span>&lt;span class="number">1&lt;/span>&lt;span>; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;startX&nbsp;=&nbsp;x; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;startY&nbsp;=&nbsp;y; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;startLeft&nbsp;=&nbsp;viewPortArea.getWidgetLeft(viewArea); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;startTop&nbsp;=&nbsp;viewPortArea.getWidgetTop(viewArea); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">public&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">void&lt;/span>&lt;span>&nbsp;onMouseEnter(Widget&nbsp;sender)&nbsp;{ &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">public&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">void&lt;/span>&lt;span>&nbsp;onMouseLeave(Widget&nbsp;sender)&nbsp;{ &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state&nbsp;=&nbsp;&lt;/span>&lt;span class="number">0&lt;/span>&lt;span>; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DOM.setStyleAttribute(mouseListenerContainer.getElement(),&nbsp;&lt;/span>&lt;span class="string">&quot;cursor&quot;&lt;/span>&lt;span>,&nbsp;&lt;/span>&lt;span class="string">&quot;default&quot;&lt;/span>&lt;span>); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">public&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">void&lt;/span>&lt;span>&nbsp;onMouseMove(Widget&nbsp;sender,&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;x,&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;y)&nbsp;{ &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">if&lt;/span>&lt;span>(state&nbsp;==&nbsp;&lt;/span>&lt;span class="number">1&lt;/span>&lt;span>){ &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DOM.setStyleAttribute(mouseListenerContainer.getElement(),&nbsp;&lt;/span>&lt;span class="string">&quot;cursor&quot;&lt;/span>&lt;span>,&nbsp;&lt;/span>&lt;span class="string">&quot;move&quot;&lt;/span>&lt;span>); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">if&lt;/span>&lt;span>(viewPortArea.getWidgetLeft(viewArea)&nbsp;&gt;=&nbsp;minLeft &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;viewPortArea.getWidgetLeft(viewArea)&nbsp;&lt;=&nbsp;maxLeft &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;viewPortArea.getWidgetTop(viewArea)&nbsp;&gt;=&nbsp;minTop &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp;&nbsp;viewPortArea.getWidgetTop(viewArea)&nbsp;&lt;=&nbsp;maxTop){ &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;viewPortArea.setWidgetPosition(viewArea,startLeft&nbsp;+&nbsp;(x&nbsp;-&nbsp;startX),&nbsp;startTop&nbsp;+&nbsp;(y&nbsp;-&nbsp;startY)); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">public&lt;/span>&lt;span>&nbsp;&lt;/span>&lt;span class="keyword">void&lt;/span>&lt;span>&nbsp;onMouseUp(Widget&nbsp;sender,&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;x,&nbsp;&lt;/span>&lt;span class="keyword">int&lt;/span>&lt;span>&nbsp;y)&nbsp;{ &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="comment">//&nbsp;TODO&nbsp;缺报当拖放结束时，地图还在显示框内 &lt;/span>&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">if&lt;/span>&lt;span>(viewPortArea.getWidgetLeft(viewArea)&nbsp;&lt;&nbsp;minLeft){ &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;viewPortArea.setWidgetPosition(viewArea,&nbsp;minLeft,&nbsp;viewPortArea.getWidgetTop(viewArea)); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">if&lt;/span>&lt;span>(viewPortArea.getWidgetTop(viewArea)&nbsp;&lt;&nbsp;minTop){ &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;viewPortArea.setWidgetPosition(viewArea,&nbsp;viewPortArea.getWidgetLeft(viewArea),&nbsp;minTop); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">if&lt;/span>&lt;span>(viewPortArea.getWidgetLeft(viewArea)&nbsp;&gt;&nbsp;&lt;/span>&lt;span class="number">0&lt;/span>&lt;span>){ &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;viewPortArea.setWidgetPosition(viewArea,&nbsp;&lt;/span>&lt;span class="number">0&lt;/span>&lt;span>,&nbsp;viewPortArea.getWidgetTop(viewArea)); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/span>&lt;span class="keyword">if&lt;/span>&lt;span>(viewPortArea.getWidgetTop(viewArea)&nbsp;&gt;&nbsp;&lt;/span>&lt;span class="number">0&lt;/span>&lt;span>){ &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;viewPortArea.setWidgetPosition(viewArea,&nbsp;viewPortArea.getWidgetLeft(viewArea),&nbsp;&lt;/span>&lt;span class="number">0&lt;/span>&lt;span>); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;state&nbsp;=&nbsp;&lt;/span>&lt;span class="number">0&lt;/span>&lt;span>; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DOM.setStyleAttribute(mouseListenerContainer.getElement(),&nbsp;&lt;/span>&lt;span class="string">&quot;cursor&quot;&lt;/span>&lt;span>,&nbsp;&lt;/span>&lt;span class="string">&quot;default&quot;&lt;/span>&lt;span>); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}; &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mouseListenerContainer.addMouseListener(listener); &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li class="alt">&lt;span>&nbsp;&nbsp;&lt;/span> &lt;/li>&lt;li>&lt;span>} &nbsp;&nbsp;&lt;/span> &lt;/li>&lt;/ol>&lt;/div>&lt;p>代码很容易理解，这只是一个很简易的实现，至少还有以下需要完善：&lt;/p>&lt;ol>&lt;li>地图分块载入 &lt;/li>&lt;li>支持鼠标滚轮的缩放 &lt;/li>&lt;li>&ldquo;鹰眼&rdquo;功能。 &lt;/li>&lt;/ol>&lt;p>感兴趣的跟进一下：)&lt;/p>&lt;/blockquote>&lt;/div>
          <br/>
          <span style="color:red;">
            <a href="http://hyowner666.javaeye.com/blog/160327#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 30 Jan 2008 11:02:52 +0800</pubDate>
        <link>http://hyowner666.javaeye.com/blog/160327</link>
        <guid>http://hyowner666.javaeye.com/blog/160327</guid>
      </item>
  </channel>
</rss>