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

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

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

    小碼哥

    誰(shuí)謂河廣,一葦杭之

       :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      7 隨筆 :: 17 文章 :: 74 評(píng)論 :: 0 Trackbacks

    常用鏈接

    留言簿(21)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊(cè)

    訂閱Canvas

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    最近一段時(shí)間里,又做了一個(gè)跟openlayers相關(guān)的項(xiàng)目,但是到目前為止,我對(duì)openlayers還是不怎么了解,做東西也只是參考了openlayers的例子,以及自己的一些對(duì)openlayers用法的一些猜測(cè)。openlayers是一個(gè)用js實(shí)現(xiàn)的GIS前端框架,我的js目前還是打醬油的水平,要是沒(méi)有jquery,那就基本寫不了幾行js代碼了。js那是相當(dāng)?shù)膹?qiáng)大,再加上VML\SVG、HTML5以及很多js rich框架等等,感覺(jué)js在瀏覽器端真是無(wú)所不能啊

    目前這個(gè)項(xiàng)目主要功能就是在某城市的地圖上標(biāo)示電纜、光纜、井蓋、光纜接頭、線桿、建筑物形狀和位置、各分級(jí)單位的位置以及快速定位等等,要求的功能很簡(jiǎn)單,而且有前段時(shí)間做學(xué)校電子地圖的一些積累,所以大概在兩周左右就做完了這個(gè)項(xiàng)目。

    感覺(jué)openlayers的資料很少,自己也沒(méi)有太多的時(shí)間和精力去讀它的源碼,目前我都是通過(guò)看openlayers自帶的那些example和api文檔來(lái)摸索的,下面簡(jiǎn)單總結(jié)一下openlayers的相關(guān)用法,歡迎大家拍磚。
    (以下均以O(shè)penLayers-2.9.1為例說(shuō)明,完整的項(xiàng)目代碼在這里下載,地圖圖片http://121.193.130.68/list/

    1、我只用到了openlayers里面的tilecache接口,其它的例如WMS,google map等等都沒(méi)有用到。原因是這樣的。tilecache接口是用來(lái)從tilecache服務(wù)器上請(qǐng)求圖片的。通過(guò)觀察google map或者一些其它的地圖服務(wù),發(fā)現(xiàn)他們都是使用256x256像素大小的圖片(也就是tile)來(lái)拼接地圖的,通常的做法是在gis服務(wù)器之間架設(shè)一個(gè)tilecache服務(wù)器,這樣,gis生成的圖片就可以緩存在tilecahe服務(wù)器上,而tilecache服務(wù)器僅僅提供簡(jiǎn)單http服務(wù)即可,如果請(qǐng)求的圖片(tile)不在tilecache服務(wù)器上,那么tilecache服務(wù)器會(huì)想gis服務(wù)器請(qǐng)求,把把gis生成的圖片緩存在tilecache服務(wù)器上。
    通過(guò)觀察tilecache服務(wù)器的目錄結(jié)構(gòu),發(fā)現(xiàn)緩存圖片按照這樣的模具結(jié)構(gòu)存放:{縮放級(jí)別}/{橫坐標(biāo)}/{縱坐標(biāo)}.{圖片格式后綴名},注意這個(gè)坐標(biāo)系的原點(diǎn)在屏幕的左下角。觀察到這個(gè)規(guī)律以后,就可以直接把一張大的地圖按照256x256的大小切割,并按照上述的目錄結(jié)構(gòu)存放,值得注意的是,每個(gè)縮放級(jí)別要一定滿足2^n的規(guī)律,即第一級(jí)整個(gè)地圖大小若為1,那么第二級(jí)整個(gè)地圖大小應(yīng)為2,第三級(jí)應(yīng)為4,依次類推。這里需要簡(jiǎn)單修改一下openlayers的tilecache接口代碼,文件位于OpenLayers-2.9.1\lib\OpenLayers\Layer\TileCache.js,修改如下:
     1 var components = [
     2             this.layername,
     3             zeroPad(tileZ, 2),
     4             //zeroPad(parseInt(tileX / 1000000), 3),
     5             //zeroPad((parseInt(tileX / 1000) % 1000), 3),
     6             zeroPad((parseInt(tileX) % 1000), 3),
     7             //zeroPad(parseInt(tileY / 1000000), 3),
     8             //zeroPad((parseInt(tileY / 1000) % 1000), 3),
     9             zeroPad((parseInt(tileY) % 1000), 3+ '.' + this.extension
    10         ];
    同樣,由于只使用tilecache,所以openlayers里面其它的代碼也可刪除,以減小openlayers的代碼量,最后通過(guò)自帶的python寫的工具,壓縮openlayers代碼即可。

    2.地圖初次加載的時(shí)候,向服務(wù)器請(qǐng)求所有數(shù)據(jù)信息,并在地圖上繪出相應(yīng)的點(diǎn)線面。如何畫出建筑的輪廓?用透明的就行了。
    a.顯示點(diǎn)信息,包括畫點(diǎn)、用圖標(biāo)顯示點(diǎn),代碼如下。
     1 /*
     2  *    在地圖上畫出所有的點(diǎn)并保存點(diǎn)的相關(guān)信息到字典中
     3  */
     4 function initFeaturePoint(vectorLayer,categoryId){
     5     //get point json
     6     point_data = getFeatureData('point',categoryId);
     7     var target_info = [];        
     8     // create a point feature
     9     for(index in point_data){
    10         single_point = point_data[index].point.split(" ");
    11         pointX = single_point[0];
    12         pointY = single_point[1];
    13         
    14         //畫點(diǎn)
    15         var point = new OpenLayers.Geometry.Point(Number(pointX), Number(pointY));
    16         
    17         
    18         var style_point = {
    19                 strokeColor: point_data[index].strokeColor,
    20                 strokeWidth: 2,
    21                 strokeDashstyle: "solid",
    22                 pointRadius: 6,
    23                 strokeOpacity: 0.8,
    24                 fillOpacity: 0.8,
    25                 //label:point_data[index].title,
    26                 fontSize:'12px',
    27                 fontFamily:'宋體',
    28                 labelXOffset:0,
    29                 labelYOffset:-15,
    30                 labelAlign:'m',
    31                 fillColor: point_data[index].strokeColor
    32         };
    33         
    34         //顯示標(biāo)記文字,把文字放在底下一層,這樣上面的就不會(huì)選不上了
    35         var pointText = new OpenLayers.Geometry.Point(Number(pointX), Number(pointY));
    36         showPointTextTips(pointText, point_data[index].title);
    37         
    38         pointFeature = new OpenLayers.Feature.Vector(point, null, style_point);
    39         vectorLayer.addFeatures([pointFeature]);
    40             
    41         /*收集點(diǎn)的信息*/
    42         id = point_data[index].id;
    43         titles = point_data[index].title;
    44         description = point_data[index].description;
    45         strokeColor = point_data[index].strokeColor;
    46         iconUrl = point_data[index].iconUrl;
    47         iconUrl2 = point_data[index].iconUrl2;
    48         array_index = pointFeature.id;
    49         target_info[array_index] = {"id":id,"title":titles,"description":description,"strokeColor":strokeColor,"iconUrl":iconUrl,"iconUrl2":iconUrl2,"pointX":pointX,"pointY":pointY};
    50         //alert(target_info[array_index]);
    51     }
    52     return target_info;
    53 }

     1 /*
     2  *    在地圖上畫出所有的點(diǎn)并保存點(diǎn)的相關(guān)信息到字典中
     3  */
     4 function initFeatureImagePoint(vectorLayer,categoryId,imageUrl){
     5     //get point json
     6     point_data = getFeatureData('point',categoryId);
     7     var target_info = [];        
     8     // create a point feature
     9     for(index in point_data){
    10         single_point = point_data[index].point.split(" ");
    11         pointX = single_point[0];
    12         pointY = single_point[1];
    13         
    14         //畫點(diǎn)
    15         var point = new OpenLayers.Geometry.Point(Number(pointX), Number(pointY));
    16         
    17         
    18         var style_point = {
    19                 graphicWidth : 32,
    20                 graphicHeight: 32,
    21                 externalGraphic:imageUrl,
    22                 graphicTitle:point_data[index].title
    23         };
    24         
    25         
    26         pointFeature = new OpenLayers.Feature.Vector(point, null, style_point);
    27         vectorLayer.addFeatures([pointFeature]);
    28         
    29         /*收集點(diǎn)的信息*/
    30         id = point_data[index].id;
    31         titles = point_data[index].title;
    32         description = point_data[index].description;
    33         strokeColor = point_data[index].strokeColor;
    34         iconUrl = point_data[index].iconUrl;
    35         iconUrl2 = point_data[index].iconUrl2;
    36         array_index = pointFeature.id;
    37         target_info[array_index] = {"id":id,"title":titles,"description":description,"strokeColor":strokeColor,"iconUrl":iconUrl,"iconUrl2":iconUrl2,"pointX":pointX,"pointY":pointY};
    38         //alert(target_info[array_index]);
    39     }
    40     return target_info;
    41 }

    b.畫線
     1 /**
     2     在地圖上畫出所有的線并保存點(diǎn)的相關(guān)信息到字典中
     3 */
     4 function initFeatureLine(vectorLayer,categoryId)
     5 {
     6          
     7     linestring_data = getFeatureData('line',categoryId);
     8     var target_info = []; 
     9     // create all line features from a list of points
    10        for(index in linestring_data){
    11            var pointList = [];
    12            linestring_points = linestring_data[index].point.split(",");
    13            for(inner_index in linestring_points){
    14                single_point = linestring_points[inner_index].split(" ");
    15                pointX = single_point[0];
    16             pointY = single_point[1];
    17             newPoint = new OpenLayers.Geometry.Point(Number(pointX), Number(pointY));
    18                pointList.push(newPoint);
    19            }
    20            var linestring =  new OpenLayers.Geometry.LineString(pointList);
    21            var style_line = {
    22                 strokeColor: linestring_data[index].strokeColor,
    23                 strokeOpacity: 0.8,
    24                 strokeWidth: linestring_data[index].strokeWidth,
    25                 pointRadius: 20,
    26                 //label:linestring_data[index].title,
    27                 fontSize:'12px',
    28                 fontFamily:'宋體',
    29                 labelXOffset:30,
    30                 labelYOffset:10,
    31                 labelAlign:'rm'
    32          };
    33            lineFeature = new OpenLayers.Feature.Vector(linestring,null,style_line);
    34         vectorLayer.addFeatures([lineFeature]);
    35         
    36         //顯示標(biāo)記文字
    37         single_point = linestring_points[0].split(" ");
    38         pointX = single_point[0];
    39         pointY = single_point[1];
    40         var pointText = new OpenLayers.Geometry.Point(Number(pointX), Number(pointY));
    41         showPointTextTips(pointText, linestring_data[index].title);
    42         
    43         /*收集路的信息*/
    44         id = linestring_data[index].id;
    45         titles = linestring_data[index].title;
    46         linelength = linestring_data[index].linelength;
    47         description = linestring_data[index].description;
    48         strokeColor = linestring_data[index].strokeColor;
    49         strokeWidth = linestring_data[index].strokeWidth;
    50         iconUrl = linestring_data[index].iconUrl;
    51         iconUrl2 = linestring_data[index].iconUrl2;
    52         array_index = linestring.id;
    53         target_info[array_index] = {"id":id,"title":titles,"linelength":linelength,"description":description,"strokeColor":strokeColor,"strokeWidth":strokeWidth,"iconUrl":iconUrl,"iconUrl2":iconUrl2};
    54        }
    55        return target_info;       
    56 }

    c.畫面
     1 /**
     2 在地圖上畫出所有的多邊形區(qū)域路并保存點(diǎn)的相關(guān)信息到字典中
     3 */
     4 function initFeaturePolygon(vectorLayer,categoryId)
     5 {
     6     polygon_data = getFeatureData('polygon',categoryId);
     7     var target_info = []; 
     8     for(index in polygon_data){
     9         var pointList = [];
    10         polygon_points = polygon_data[index].point.split(",");
    11         for(inner_index in polygon_points){
    12             single_point = polygon_points[inner_index].split(" ");
    13             pointX = single_point[0];
    14             pointY = single_point[1];
    15             newPoint = new OpenLayers.Geometry.Point(Number(pointX), Number(pointY));
    16                pointList.push(newPoint);
    17         }
    18         var linearRing = new OpenLayers.Geometry.LinearRing(pointList);
    19         var polygon = new OpenLayers.Geometry.Polygon([linearRing]);
    20         var style_polygon = {
    21                 strokeColor: polygon_data[index].strokeColor,
    22                 strokeWidth: 2,
    23                 strokeOpacity: 0.8,
    24                 fillOpacity: 0.8,
    25                 //label:polygon_data[index].title,
    26                 fontSize:'12px',
    27                 fontFamily:'宋體',
    28                 labelXOffset:0,
    29                 labelYOffset:-15,
    30                 labelAlign:'m',
    31                 fillColor: polygon_data[index].strokeColor
    32         };
    33         polygonFeature = new OpenLayers.Feature.Vector(polygon,null,style_polygon);
    34         vectorLayer.addFeatures([polygonFeature]); 
    35         
    36         
    37         //顯示標(biāo)記文字
    38         single_point = polygon_points[0].split(" ");
    39         pointX = single_point[0];
    40         pointY = single_point[1];
    41         var pointText = new OpenLayers.Geometry.Point(Number(pointX), Number(pointY));
    42         showPointTextTips(pointText, polygon_data[index].title);
    43         
    44         /*收集圖形的信息*/
    45         id = polygon_data[index].id;
    46         titles = polygon_data[index].title;
    47         description = polygon_data[index].description;
    48         type_id = polygon_data[index].type_id;
    49         strokeColor = polygon_data[index].strokeColor;
    50         iconUrl = polygon_data[index].iconUrl;
    51         iconUrl2 = polygon_data[index].iconUrl2;
    52         array_index = polygon.id;
    53         //alert(array_index);
    54         target_info[array_index] = {"id":id,"title":titles,"description":description,"type_id":type_id,"strokeColor":strokeColor,"iconUrl":iconUrl,"iconUrl2":iconUrl2};      
    55     }
    56     return target_info;  
    57 }

    d.復(fù)制一條線
     1 /**
     2  * 
     3  * 復(fù)制線到某一層
     4  * @param desvectors
     5  * @param linestring
     6  * @return
     7  */
     8 function cloneLine(vectorLayer,linestring)
     9 {
    10     linestring_points = linestring.substring("LINESTRING".length + 1,linestring.length - 1);
    11     //alert(linestring_points);
    12     var pointList = [];
    13     line_points = linestring_points.split(",");
    14     for(inner_index in line_points){
    15         single_point = line_points[inner_index].split(" ");
    16         pointX = single_point[0];
    17         pointY = single_point[1];
    18         newPoint = new OpenLayers.Geometry.Point(Number(pointX)+0.2, Number(pointY)+0.2);
    19            pointList.push(newPoint);
    20     }
    21     var linestringtmp =  new OpenLayers.Geometry.LineString(pointList);
    22        var style_line = {
    23                 strokeColor: "red",
    24                 strokeOpacity: 1,
    25                 strokeWidth: 6,
    26                 pointRadius: 20
    27     };
    28        //var tmpVector = vectorLayer == 'lightlinelayer' ? lightlinelayer : linelayer;
    29        var tmpVector;
    30        if(vectorLayer == 'lightlinelayer')
    31            tmpVector = lightlinelayer;
    32        else if(vectorLayer == 'linelayer')
    33            tmpVector = linelayer;
    34        else
    35            tmpVector = policelightlinelayer;
    36        
    37        lineFeature = new OpenLayers.Feature.Vector(linestringtmp,null,style_line);
    38        tmpVector.addFeatures([lineFeature]);
    39 }

    e.計(jì)算一條線的長(zhǎng)度
     1 /*計(jì)算線的長(zhǎng)度*/
     2 function getLengthOfALine(linestring)
     3 {
     4     //alert(linestring);
     5     linestring_points = linestring.substring("LINESTRING".length + 1,linestring.length - 1);
     6     //alert(linestring_points);
     7     var pointList = [];
     8     line_points = linestring_points.split(",");
     9     lineLength = 0;
    10     for(inner_index in line_points){
    11         if(inner_index > 0)
    12         {
    13             single_point = line_points[inner_index].split(" ");
    14             pointX = Number(single_point[0]);
    15             pointY = Number(single_point[1]);
    16                
    17             old_single_point = line_points[inner_index - 1].split(" ");
    18             old_pointX = Number(old_single_point[0]);
    19             old_pointY = Number(old_single_point[1]);
    20             
    21             lineLength = lineLength + Math.sqrt((pointX - old_pointX) * (pointX - old_pointX) + (pointY - old_pointY) * (pointY - old_pointY));
    22         }
    23     }
    24     return lineLength.toFixed(4);
    25 }

    f.刪除一個(gè)地圖元素
     1 function deleteFeature(featureId)
     2 {
     3     
     4     if(!confirm("您確定要?jiǎng)h除這個(gè)地圖標(biāo)記嗎?"))
     5         return;
     6     var feature = null;
     7     //alert(lightlinelayer.getFeatureById(featureId));
     8     feature = lightlinelayer.getFeatureById(featureId);
     9     //alert(feature);
    10     if(feature != null)
    11     {
    12         if(lineDataList[feature.geometry.id])
    13         {
    14             deleteFeatureByIdAndType(lineDataList[feature.geometry.id].id,'line');
    15         }
    16         map.removePopup(feature.popup);
    17         feature.popup.destroy();
    18         feature.popup = null;
    19         lightlinelayer.destroyFeatures([feature]);
    20         return;
    21     }

    地圖圖片是從google map下載的。
    posted on 2010-10-11 20:42 小碼哥 閱讀(9406) 評(píng)論(32)  編輯  收藏 所屬分類: Java語(yǔ)言學(xué)習(xí)HTMLpythonjquery

    評(píng)論

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2010-11-02 08:33
    博主,能給個(gè)聯(lián)系用的QQ嗎?最近也在搞E校園,想向您請(qǐng)教一下啊!  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2010-11-02 15:13 Barrie
    @江
    382060923  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼)[未登錄](méi) 2011-04-25 23:44 lee
    首先十分樓主,不過(guò)樓主能把地圖數(shù)據(jù)發(fā)上來(lái)嗎???  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2011-05-11 22:15 Barrie
    @lee
    地圖數(shù)據(jù)太大了,發(fā)不上來(lái),你如果有需要,可以留下郵箱,我給你發(fā)過(guò)去  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼)[未登錄](méi) 2011-05-25 16:39 jie
    樓主,能否發(fā)份代碼,QQ:460117429.謝謝~  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2011-05-26 15:59 Barrie
    @jie
    http://m.tkk7.com/Files/canvas/map.zip  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼)[未登錄](méi) 2011-07-21 17:08 jie
    3Q@Barrie
      回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼)[未登錄](méi) 2011-10-20 14:17 zeng
    麻煩給份地圖,謝謝樓主:263941783@qq.com  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼)[未登錄](méi) 2011-11-11 23:37 siwei
    你好,請(qǐng)發(fā)我一份地圖。
    448385620@qq.com
    謝謝!  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2012-02-24 11:13 Mr許
    @Barrie
    樓主可以把地圖數(shù)據(jù)發(fā)給我一份嗎,十分感謝: xuweilin15353@163.com  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2012-03-21 10:23 xiaolin
    由于剛接觸這塊,樓主能介紹下開發(fā)環(huán)境怎么搭建嗎?  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2012-03-21 14:53 Barrie
    @xiaolin
    注意openlayers的目錄結(jié)構(gòu),直接使用就可以了  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2012-03-21 17:05 xiaolin
    新建一個(gè)基于asp.net的網(wǎng)站項(xiàng)目,下載好Openlayers包之后,把Openlayers.js,img文件夾,theme文件夾復(fù)制到同一個(gè)目錄,然后通過(guò)<script src="openlayers/OpenLayers.js"></script>調(diào)用,請(qǐng)問(wèn)樓主java環(huán)境下怎么引用的?  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2012-04-15 21:03 vernon.zheng
    小碼哥,請(qǐng)發(fā)我一份地圖數(shù)據(jù)。
    511596982@qq.com
    萬(wàn)分謝謝啊!!!  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2012-04-20 15:35 da
    樓主,請(qǐng)發(fā)我一份地圖數(shù)據(jù)。
    1395579668@qq.com
    萬(wàn)分謝謝啊!!!  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2012-05-08 22:03 Chery
    感謝樓主分享!
    麻煩您給我發(fā)下 地圖數(shù)據(jù)包,謝謝!!
    cheryyoo@foxmail.com  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2012-08-03 14:44 zlbwonder
    求達(dá)人給我發(fā)份地圖數(shù)據(jù) zlbwonder@163.com 謝謝  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2012-08-04 22:10 gj
    求發(fā)我一份512528719@qq.com  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2012-09-20 10:08 孫星
    您好,能指導(dǎo)下嗎,在三維地圖上,鼠標(biāo)滑過(guò)建筑時(shí)出現(xiàn)黃色邊框線高亮顯示,這個(gè)功能怎樣實(shí)現(xiàn)啊 我現(xiàn)在對(duì)地圖理解還是不行,很模糊 能再提供一些源碼嗎 謝謝  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2012-09-23 21:47 Barrie
    這個(gè)效果自帶的examples里面有  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼)[未登錄](méi) 2012-10-08 13:37 k
    受益匪淺,求博主發(fā)我一份。465023102@qq.com  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2012-11-13 09:08 小碼哥
    @k
    服務(wù)器掛掉了,地圖數(shù)據(jù)沒(méi)了,不過(guò)可以自行下載google地圖  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2012-12-26 16:26 IT女工
    @Barrie
    沒(méi)有吧,,這怎么用啊,,,哎,,蒙了  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2012-12-28 12:31 小碼哥
    http://m.tkk7.com/Files/canvas/map.zip  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2013-01-09 15:32 zhouwei
    樓主,能發(fā)我一份地圖數(shù)據(jù)嗎?
    563192700@qq.com
      回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2013-01-10 11:13 小碼哥
    @zhouwei

    不好意思。已經(jīng)沒(méi)有地圖數(shù)據(jù)了。可以自己從google地圖下載嘛  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2013-05-23 16:50 amoning
    下載以后是什么樣子的?怎么集成到系統(tǒng)中?
    我下了放到webroot下面,然后修改鏈接,沒(méi)有。求幫助  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2013-06-04 09:03 小碼哥
    @amoning
    需要自己準(zhǔn)備好地圖  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼)[未登錄](méi) 2014-11-10 12:34 hao
    @Barrie我需要  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼) 2014-12-31 14:02 趙龍歸
    showPointTextTips這個(gè)方法 的代碼在哪呢?我想了解一下,能貼一下么  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼)[未登錄](méi) 2015-03-19 21:25 小李
    給我也發(fā)份,謝謝!!416912113@qq.com  回復(fù)  更多評(píng)論
      

    # re: openlayers小結(jié)(有參考項(xiàng)目代碼)[未登錄](méi) 2015-03-19 21:26 小李
    我也要份,謝謝! 416912113@qq.com
      回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 国产精品99爱免费视频| 亚洲免费日韩无码系列| 亚洲精品午夜国产va久久| 国产成人精品久久免费动漫| 亚洲福利在线视频| 免费一区二区三区| 午夜亚洲AV日韩AV无码大全| 日本黄色动图免费在线观看| 亚洲AV电影院在线观看| 久9这里精品免费视频| 亚洲国产精品一区第二页| 国产免费无码一区二区 | 久久大香香蕉国产免费网站| 亚洲精品卡2卡3卡4卡5卡区| 女同免费毛片在线播放| 亚洲va久久久噜噜噜久久狠狠| 免费精品一区二区三区第35| 亚洲国产综合无码一区| 久久国产精品免费观看| 亚洲乱亚洲乱淫久久| 18女人水真多免费高清毛片| 中文字幕亚洲免费无线观看日本| 114级毛片免费观看| 亚洲av成人综合网| 四虎影视www四虎免费| 亚洲美日韩Av中文字幕无码久久久妻妇| 特级毛片免费播放| 亚洲伊人成无码综合网| 国产成人无码区免费网站| 久久久无码精品亚洲日韩京东传媒| 天天影视色香欲综合免费| 亚洲成人福利在线| 在线jlzzjlzz免费播放| 猫咪免费人成网站在线观看入口| 成人亚洲性情网站WWW在线观看| 亚洲人成色4444在线观看| 日本一区免费电影| fc2成年免费共享视频网站| 国产亚洲精品a在线无码| 97精品免费视频| 亚洲色偷偷色噜噜狠狠99网|