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

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

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

    背著手扇扇子的人
    往事隨風......前事如夢......
    posts - 35,  comments - 17,  trackbacks - 0
    定義標注的樣式,這個決定標注顯示的方式,必須定義好
    ?1
    ?$package("com.bct.map");
    ?2?com.bct.map.EncoderMarkerStyle?=?{
    ?3?????'bigEncoder':{
    ?4?????????graphicWidth:24,
    ?5?????????graphicHeight?:?24,
    ?6?????????graphicXOffset?:?-12,
    ?7?????????graphicYOffset?:?-24,
    ?8?????????externalGraphic?:?"scripts/map/img/channel2.png"
    ?9?????},
    10?????'smallEncoder':{
    11?????????graphicWidth:16,
    12?????????graphicHeight?:?16,
    13?????????graphicXOffset?:?-8,
    14?????????graphicYOffset?:?-16,
    15?????????externalGraphic?:?"scripts/map/img/channel.gif"
    16?????},
    17?????'selectStyle':{
    18?????????pointerEvents:?"visiblePainted",
    19?????????border:"border:25?outset?#ff88ff",
    20?????????cursor:?"pointer",
    21?????????graphicWidth:24,
    22?????????graphicHeight?:?24,
    23?????????graphicXOffset?:?-12,
    24?????????graphicYOffset?:?-24,
    25?????????externalGraphic?:?"scripts/map/img/channel2.png"????
    26?????},
    27?????styleMap:?new?OpenLayers.StyleMap({
    28?????????????????????"select":?new?OpenLayers.Style({pointRadius:?24})
    29?????})
    30?}

    marker層,擴展vector層,通過point和style達到marker的效果
    ??1?$package("com.bct.map");
    ??2?$import("com.bct.map.EncoderMarkerStyle");
    ??3?com.bct.map.MarkerVectorLayer?=?OpenLayers.Class(OpenLayers.Layer.Vector,{
    ??4?????/**
    ??5??????*?parameters
    ??6??????*?attribute?filer對象
    ??7??????*/
    ??8?????getFeatureByAttribute?:function(attributes){
    ??9?????????var?feature?=?null;
    ?10?????????for(var?i=0;i<this.features.length;?++i){
    ?11?????????????var?attri?=?this.features[i].attributes;
    ?12?????????????var?find?=?false;
    ?13?????????????for(var?j?in?attributes){
    ?14?????????????????if(attributes[j]?==?attri[j]){
    ?15?????????????????????find?=?true;
    ?16?????????????????}
    ?17?????????????}
    ?18?????????????if(find){
    ?19?????????????????return?this.features[i];?
    ?20?????????????}????????????
    ?21?????????}
    ?22?????
    ?23?????},
    ?24?????addEncorderFeature:function(encNode,location){
    ?25?????????if(encNode&&this.repetitiveCheck(encNode.id)){
    ?26?????????????return;
    ?27?????????}
    ?28?????????var?attributes?=?OpenLayers.Util.extend({},?encNode.attributes);
    ?29?????????var?enc_point?=?new?OpenLayers.Geometry.Point(location.lon,location.lat);
    ?30?????????var?enc_Feature?=?new?OpenLayers.Feature.Vector(enc_point,attributes,com.bct.map.EncoderMarkerStyle['smallEncoder']);
    ?31?????????this
    .addFeatures([enc_Feature]);
    ?32?????????if(encNode.attributes['lon']&&encNode.attributes['lat']&&encNode.attributes['lon'].length>0){
    ?33?????????????return;
    ?34?????????}
    ?35?????????this.updateChannel(encNode.id,location.lon,location.lat);
    ?36?????},
    ?37?????addDeptFeature:function(deptNode,location){
    ?38?????????if(deptNode&&this.repetitiveCheck(deptNode.id)){
    ?39?????????????return;
    ?40?????????}
    ?41?????????var?attributes?=?OpenLayers.Util.extend({},?deptNode.attributes);
    ?42?????????var?enc_point?=?new?OpenLayers.Geometry.Point(location.lon,location.lat);
    ?43?????????var?enc_Feature?=?new?OpenLayers.Feature.Vector(enc_point,attributes,com.bct.map.EncoderMarkerStyle['smallEncoder']);
    ?44?????????
    ?45?????????this.addFeatures([enc_Feature]);
    ?46?????????
    ?47?????},
    ?48?????repetitiveCheck:function(entity_id){
    ?49?????????if(this.getFeatureByAttribute({id:entity_id})){
    ?50?????????????return?true;
    ?51?????????}
    ?52?????????return?false;
    ?53?????},
    ?54?????updateChannel:function(channel_id,lon,lat){
    ?55?????????Ext.Ajax.request({
    ?56????????????????url:?'deviceVideoEncoder.do?method=updateLonlat&id='+channel_id+"&lon="+lon+"&lat="+lat
    ?57?????????});
    ?58?????},
    ?59?????channelMarkerClick:function()?{
    ?60?????????var?features?=?this.selectedFeatures;
    ?61?????????if(features.length?>=0&&features[0])?{
    ?62?????????????feature?=?features[0];????????????
    ?63?????????????var?treeNodeAttribute?=?feature.attributes;
    ?64?????????????var?vedioPopForm?=?new?Ext.FormPanel({
    ?65????????????????????????????????????frame:true,
    ?66?????????????????????????????????labelAlign:?'top',
    ?67?????????????????????????????????bodyStyle:'padding:5px',
    ?68?????????????????????????????????width:?400,
    ?69?????????????????????????????????height:200,
    ?70?????????????????????????????????layout:?'fit',
    ?71?????????????????????????????????items:[{
    ?72?????????????????????????????????????????????xtype:'fieldset',
    ?73?????????????????????????????????????????????title:?'攝像頭信息',
    ?74?????????????????????????????????????????????autoHeight:true,
    ?75?????????????????????????????????????????????autoWidth:true,
    ?76?????????????????????????????????????????????html:"<p><font?color='red'?size='2'>名稱:"+treeNodeAttribute['text']
    ?77?????????????????????????????????????????????+"</font></p><p><font?color='red'?size='2'>通道號:"+treeNodeAttribute['channelNumber']
    ?78?????????????????????????????????????????????+"</font></p><p><font?color='red'?size='2'>設備名稱:"+treeNodeAttribute['deviceunitName']
    ?79?????????????????????????????????????????????+"</font></p><p><font?color='red'?size='2'>所屬部門:"+treeNodeAttribute['deptName']
    ?80?????????????????????????????????????????????+"</font></p><p><font?color='red'?size='2'>經緯度:"+treeNodeAttribute['lon']+","+treeNodeAttribute['lat']
    ?81?????????????????????????????????????}]
    ?82?????????????});
    ?83?????????????var?win?=?new?Ext.Window({
    ?84?????????????????width?:?420,
    ?85?????????????????height:?220,
    ?86?????????????????items?:?vedioPopForm
    ?87?????????????});
    ?88?????????????win.show();????????????
    ?89?????????}
    ?90?????},
    ?91?????cartoonFeature?:function(feature){
    ?92?????????this.drawFeature(feature,com.bct.map.EncoderMarkerStyle['bigEncoder']);
    ?93?????????var?runner?=?new?Ext.util.TaskRunner(1000);
    ?94?????????var?task?=?{
    ?95?????????????run:this.drawFeature,
    ?96?????????????scope:this,
    ?97?????????????args:[feature,com.bct.map.EncoderMarkerStyle['smallEncoder']],
    ?98?????????????interval:?1000
    ?99?????????}
    100?????????runner.start(task);
    101?????},
    102?????removeSelectFeature:function(){
    103?????????var?features?=?this.selectedFeatures;
    104?????????for(var?i=features.length-1;?i>=0;?i--)?{
    105?????????????feature?=?features[i];
    106?????????????this.updateChannel(feature.attributes['id'],"","");
    107?????????}
    108?????????this.destroyFeatures(this.selectedFeatures);
    109?????},
    110?????monitorSelectFeature:function(){????????
    111?????????var?features?=?this.selectedFeatures;
    112?????????if(features.length?>=0&&features[0])?{
    113?????????????feature?=?features[0];????????????
    114?????????????var?treeNodeAttribute?=?feature.attributes;
    115?????????????var?objId="mapAVShow"+treeNodeAttribute['id'];
    116?????????????var?win?=?new?Ext.Window({
    117?????????????????width?:?420,
    118?????????????????height:?420,
    119?????????????????html:"<div?id='mapEncoder'?width='100%'?height='100%'><object?width='100%'?height='100%'?id='"+objId+"'?classid='clsid:574B47E8-A366-4AB9-B2EA-57F145CA3780'></object></div>"
    120?????????????});????????????
    121?????????????win.show();
    122?????????????Ext.lib.Ajax.request('GET','channel.do?method=getSiteId&accept=json&id='+treeNodeAttribute['id'],
    123???????????????????????????????{success:?function(o){
    124?????????????????????????????????????????var?encoderObj;
    125?????????????????????????????????????????encoderObj=Ext.util.JSON.decode(o.responseText);
    126?????????????????????????????????????????$import("com.bct.monitor.mapAVShow");
    127?????????????????????????????????????????var?avshowObj=document.getElementById(objId);
    128?????????????????????????????????????????var?avshow=new?com.bct.monitor.mapAVShow(avshowObj,
    129?????????????????????????????????????????encoderObj[0].siteId,encoderObj[0].enCoderId,encoderObj[0].diveceUnitTypeId,'');
    130?????????????????????????????????????????avshow.startVideo();
    131?????????????????????????????????????????win.on("destroy",function?del(){
    132??????????????????????????????????????????????????????????avshow.stopVideo();
    133?????????????????????????????????????????});
    134?????????????????????????????????}
    135???????????????????????????????});?????????????
    136?????????}
    137?????}
    138?});


    posted on 2008-09-04 14:12 kebo 閱讀(3953) 評論(1)  編輯  收藏

    FeedBack:
    # re: openlayers如何利用vector和style作出marker[未登錄]
    2011-05-17 13:19 | w
    能把代碼發我一份 研究下么,w.0101@qq.com  回復  更多評論
      

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


    網站導航:
     

    <2011年5月>
    24252627282930
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    文章檔案

    相冊

    收藏夾

    朋友

    搜索

    •  

    積分與排名

    • 積分 - 23137
    • 排名 - 1598

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费看片在线观看| 免费视频成人片在线观看| 一二三区免费视频| 精品在线免费观看| 91精品成人免费国产片| 午夜无遮挡羞羞漫画免费| 亚洲精品国产精品乱码不卡| 亚洲精品午夜无码电影网| 亚洲图片校园春色| 午夜亚洲国产理论片二级港台二级| 日韩久久无码免费毛片软件| 免费在线看黄网站| 成人免费毛片观看| 伊人久久亚洲综合| 亚洲国产成人久久综合一区| 久久精品国产亚洲AV电影网| 日本免费A级毛一片| 最近中文字幕无吗高清免费视频| 亚洲国产精品人人做人人爱| 中文字幕亚洲色图| 美女视频黄.免费网址| 华人在线精品免费观看| 成人免费视频试看120秒| 亚洲欧洲日产国码无码网站 | 99久久综合国产精品免费| 天堂亚洲免费视频| 久久久婷婷五月亚洲97号色 | 人人玩人人添人人澡免费| 成年性午夜免费视频网站不卡| 亚洲一区二区三区国产精品| 亚洲欧洲春色校园另类小说| 特级毛片免费播放| 黄+色+性+人免费| 亚洲综合久久夜AV | 亚洲伦理中文字幕| 91国内免费在线视频| 成人免费无码大片A毛片抽搐色欲| 狠狠亚洲婷婷综合色香五月排名| 亚洲人成人网毛片在线播放| 最近免费中文字幕中文高清 | 免费无码AV电影在线观看 |