<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 81  文章 - 1033  trackbacks - 0
    <2007年9月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456

    在浮躁的年代里,我們進(jìn)取心太切,患得患失;虛榮心太強(qiáng),戰(zhàn)戰(zhàn)兢兢。一心爭強(qiáng)好勝,惟恐榜上無名。
    I think I can fly , and flying like a bird !
    程序員一名,已售出,缺貨中!

    我的郵件聯(lián)系方式

    用且僅用于MSN

    博客點(diǎn)擊率
    free web counter
    free web counter

    常用鏈接

    留言簿(36)

    隨筆檔案

    搜索

    •  

    積分與排名

    • 積分 - 186958
    • 排名 - 309

    最新評論

    閱讀排行榜

    評論排行榜

    ??? MapEasy群里面很多新朋友都不停的問到同一個(gè)問題,既然MapEasy是一個(gè)純粹的JavaScript地圖顯示客戶端那么她是如何與客戶自己的后臺地圖程序進(jìn)行整合,共同工作?這在MapEasy的設(shè)計(jì)之初就給了完美的解答,在MapEasy上實(shí)現(xiàn)與不同的地圖服務(wù)的對接是一件非常輕松而且靈活的事情。大家都可以看到在MapEasy的Sample里就給出了諸如Google、edushi、WOW、custom等多種后臺地圖服務(wù)的接口。

    ??? 但是由于各種歷史的原因Sample里只有edushi的地圖現(xiàn)在還可以正常工作,其他的可能已經(jīng)看不到圖片。很多朋友都以為是MapEasy的代碼的原因,其實(shí)不然,可以解釋為是MapEasy很久沒有更新的原因,那些地圖服務(wù)已經(jīng)不能取得地圖數(shù)據(jù)了。

    ??? 在這里特別感謝BeanSoft兄提出的建議,做一個(gè)在取本地圖片的的Sample,這樣就不會出現(xiàn)上述的地圖服務(wù)不能工作后Sample不能正常工作。最值得我敬佩的是他馬上動手做了一個(gè)Demo,再次感謝分享!

    ??? 下面告訴大家實(shí)現(xiàn)與自己的地圖服務(wù)配合是一件多么Easy的事情(我們的目的就是讓Map更加Easy ^_^)。請大家注意MapType這個(gè)類,她就是MapEasy提供給大家擴(kuò)展自定義地圖服務(wù)類型的組件(我覺得在這里用組件這個(gè)詞更加貼切,因?yàn)樗m然夠簡單,但同樣夠強(qiáng)大和完整)。下面給出MapType類:

    ?1?function?MapType()?{
    ?2?????
    ?3?????this.enablePic;
    ?4?
    ?5?????this.disablePic;
    ?6?????
    ?7?????//~?Method
    ?8?????{
    ?9?????????this.enablePic?=?imgBaseDir?+?"maptype_0b.gif";
    10?????????this.disablePic?=?imgBaseDir?+?"maptype_0a.gif";
    11?????}
    12?
    13?????this.getSrc?=?function(level,?row,?column)?{
    14?????????return?imgBaseDir?+?'zoom_'?+?level?+?'/'?+?level?+?'_'?+?column?+?'_'?+?row?+?'.jpg';
    15?????}
    16?
    17?????this.getEnablePic?=?function()?{
    18?????????return?this.enablePic;
    19?????}
    20?
    21?????this.getDisablePic?=?function()?{
    22?????????return?this.disablePic;
    23?????}
    24?}

    ??? enablePic、disablePic即顯示在左上角(當(dāng)然如果你愿意可以把她放在任何位置)的變換地圖類型的按鈕的圖片,分別為選中和非選中時(shí)的圖片。而getSrc方法就是實(shí)現(xiàn)與不同地圖服務(wù)對接的最重要直接的方法,默認(rèn)提供的方法是取本地圖片。getSrc方法提供了與不同數(shù)據(jù)源的接口,在getSrc中發(fā)揮你的聰明才智以最簡單的方式取得對應(yīng)瓦片的圖片就可以了。

    ??? MapEasy推薦的最佳實(shí)踐是編寫一個(gè)屬于自己的MapType,如WMSMapType,繼承MapEasy提供的MapType重寫getSrc方法實(shí)現(xiàn)自己的數(shù)據(jù)源接口。

    ??? WMS(Web Map Service)是OPENGIS的規(guī)范,應(yīng)用非常廣泛。下面給出一個(gè)以WMS服務(wù)為地圖數(shù)據(jù)源的簡單實(shí)現(xiàn)作為參考。

    ?1?/**
    ?2??*?自定義一個(gè)WMS數(shù)據(jù)源
    ?3??*?@author?crespo
    ?4??*/
    ?5?function?WMSMapType()?{
    ?6?
    ?7?????MapType.apply(this);
    ?8?
    ?9?????this.getSrc?=?function(level,?row,?column)?{
    10?????????var?xMin?=?(MapModel.bound.getMinX()?+?((MapModel.bound.getWidth())?/?(new?Zoom(level).getBorderTilesNum()))*(column))/1e16;
    11?????????var?yMin?=?(MapModel.bound.getMaxY()?-?((MapModel.bound.getHeight())?/?(new?Zoom(level).getBorderTilesNum()))*(row+1))/1e16;
    12?????????var?xMax?=?(MapModel.bound.getMinX()?+?((MapModel.bound.getWidth())?/?(new?Zoom(level).getBorderTilesNum()))*(column+1))/1e16;
    13?????????var?yMax?=?(MapModel.bound.getMaxY()?-?((MapModel.bound.getHeight())?/?(new?Zoom(level).getBorderTilesNum()))*(row))/1e16;
    14?????????//alert("row?and?column"+row+","+column);
    15?????????//alert(xMin+","+yMin+","+xMax+","+yMax);
    16?????????return?"http://localhost:8080/geoserver/wms?bbox="+xMin+","+yMin+","+xMax+","+yMax+"&styles=population&Format=image/png&request=GetMap&layers=states&width=256&height=256&srs=EPSG:4326";
    17?????}
    18?}

    ??? 使用本機(jī)的geoserver服務(wù)器提供的WMS服務(wù)測試通過。

    ??? 趕快去擴(kuò)展你的地圖類型吧!
    posted on 2007-02-07 10:59 cresposhi 閱讀(3425) 評論(9)  編輯  收藏

    FeedBack:
    # re: MapEasy答疑(二) 如何讓MapEasy與WMS共同工作 2007-02-07 12:03 梅穎
    你自己寫的啊?  回復(fù)  更多評論
      
    # re: MapEasy答疑(二) 如何讓MapEasy與WMS共同工作 2007-02-07 12:31 施偉
    ???你覺得是誰寫的呢?  回復(fù)  更多評論
      
    # re: MapEasy答疑(二) 如何讓MapEasy與WMS共同工作 2007-02-07 14:49 梅穎
    哦,真的是你寫的啊,呵呵,你好厲害哦,好崇拜你哦,呵呵,教哈我列  回復(fù)  更多評論
      
    # re: MapEasy答疑(二) 如何讓MapEasy與WMS共同工作 2007-02-08 08:10 睿不可當(dāng)
    mark
    看來 我來blogjava不能不來的只有
    crespo9907和ilovezmh了
    呵呵  回復(fù)  更多評論
      
    # re: MapEasy答疑(二) 如何讓MapEasy與WMS共同工作 2007-02-08 08:52 施偉
    @睿不可當(dāng)
    呵呵,睿G把你的blog也留一下,也好讓我們過去景仰一下!  回復(fù)  更多評論
      
    # re: MapEasy答疑(二) 如何讓MapEasy與WMS共同工作 2007-09-14 09:40 向超
    老大,能不能把你連接geoserver的例子給我發(fā)一份xiangchao76@sohu.com  回復(fù)  更多評論
      
    # re: MapEasy答疑(二) 如何讓MapEasy與WMS共同工作 2007-09-17 17:48 向超
    看了你wms的例子,我直接也通過geoserver提供的wms做了一個(gè)測試,現(xiàn)在問題是,geoserver提供的wms是沒有切片的,其中那個(gè)bbox也只是確定地圖的顯示位置,所以我現(xiàn)在的情況是如果row,cou,lev都是1的情況,地圖顯示是正確的,如果這些都是2,也就是地圖顯示是分片的時(shí)候,就會出現(xiàn)顯示不正常,要不就是圖片沒有完全拼接在一起,要不就是圖片拼接的位置錯(cuò)開,重疊等,不知道是怎么回事,望博主指點(diǎn)  回復(fù)  更多評論
      
    # re: MapEasy答疑(二) 如何讓MapEasy與WMS共同工作 2007-09-17 18:47 cresposhi
    你的理解可能有點(diǎn)偏差,我們通過wms取的是某一張瓦片,而不是整張地圖。而到底是哪張瓦片就是有MapType.getSrc的三個(gè)參數(shù)來確定的---行、列、級別。
    上面例子中的xMin、yMin、xMax、yMax分別代表當(dāng)前指定參數(shù)那個(gè)位置的瓦片的最小x坐標(biāo)、最小y坐標(biāo)、最大x坐標(biāo)、最大y坐標(biāo)。
      回復(fù)  更多評論
      
    # re: MapEasy答疑(二) 如何讓MapEasy與WMS共同工作 2008-01-22 15:02 longlong
    我有兩個(gè)MapType,一個(gè)是WMSMapType,一個(gè)是RSMapType,分別是矢量地圖和影像地圖,單獨(dú)的情況下都能顯示,現(xiàn)在我想做他們的疊加,怎么做呢?  回復(fù)  更多評論
      

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 永久黄色免费网站| 又粗又黄又猛又爽大片免费 | 最新亚洲卡一卡二卡三新区| 免费观看毛片视频| 99久久免费国产特黄| 亚洲午夜一区二区电影院| 又粗又大又长又爽免费视频| 欧洲人成在线免费| 国产精品亚洲综合五月天| 亚洲日韩VA无码中文字幕| **真实毛片免费观看| 国产亚洲高清在线精品不卡| 精品国产_亚洲人成在线高清| 免费大片黄在线观看yw| 国产精品hd免费观看| 亚洲日本人成中文字幕| 色噜噜亚洲精品中文字幕| 久久久久久国产a免费观看黄色大片 | 花蝴蝶免费视频在线观看高清版 | 国产91精品一区二区麻豆亚洲| 国产91色综合久久免费| 一级毛片人与动免费观看| 亚洲国产精品网站久久| 亚洲小说区图片区另类春色| 成人毛片18岁女人毛片免费看| 免费看男人j放进女人j免费看| 婷婷国产偷v国产偷v亚洲| 亚洲美免无码中文字幕在线| 亚洲电影日韩精品| 成全高清视频免费观看| 蜜桃AV无码免费看永久| 免费看无码特级毛片| 一级毛片在线播放免费| 亚洲AV无码片一区二区三区| 91情国产l精品国产亚洲区| 久久久精品国产亚洲成人满18免费网站| 成人免费a级毛片无码网站入口| 久久久久久一品道精品免费看| 一级视频免费观看| 亚洲av日韩av永久在线观看 | fc2成年免费共享视频18|