天下之事,必先处之难,而后易之。
君临
知我者谓我心忧,不知我者谓我何求

方式一:使用marker方式

1、在地图上添加标记图层

var markers =newOpenLayers.Layer.Markers("Markers");
map.addLayer(markers);//地图初始化添加

2、动态添加标记和Popup方法:

//add map initial method

 map.events.register('click', this, function(e) {

    var LonLat=new OpenLayers.getLonLatFromPixel(e.xy);

    autoAddMarker(LontLat);

    OpenLayers.Event.stop(e); 

   }

);

//others method

function getIcon(){

  var size =newOpenLayers.Size(21,25);
  var offset =newOpenLayers.Pixel(-(size.w/2),-size.h);
  var icon =newOpenLayers.Icon('http://www.openlayers.org/dev/img/marker.png', size, offset);

  return icon;

}

function createPopup(marker,LonLat){

    var size=new OpenLayers.Size(200,120);

    var html="Lon:"+LonLat.Lon+"</br>Lat:"+LonLat.Lat;

    var popup=new OpenLayers.Popup(marker,LonLat,size,html,true);

}

function autoAddMarker(LontLat){

    var marker=newOpenLayers.Marker(LonLat,getIcon);

    var popup=createPopup(marker,LonLat);

    marker.events.register('click',this,function(){

        map.addPopup(popup,true);popup.show();

});

    markers.addMarker(marker);

}

3、事件触发,点击地图获得marker 及其信息窗口。

如果click不是OpenLayers.Events的register方法,就需要activate Click方法。

方式二:使用feature本身提供的特性

 //显示矢量信息
            'pointVectorLayer':new OpenLayers.Layer.Vector("加点图层", {eventListeners:{
                'featureselected':function(evt){
                    var feature = evt.feature;
                    if(myPopup) this.map.removePopup(myPopup);
                    myPopup=createPopup(feature.point);
                    feature.popup = myPopup;
                    this.map.addPopup(myPopup);
                },
                'featureunselected':function(evt){
                    var feature = evt.feature;
                    this.map.removePopup(feature.popup);
                    feature.popup.destroy();
                    feature.popup = null;
                }
            }
            }),

 直接注册矢量层的事件,推荐使用第二种方式,它可以与整体弹出框的样式保持一致,都是popup类型的。

posted on 2012-03-18 16:15  boonya  阅读(5236)  评论(4编辑  收藏  举报

我有佳人隔窗而居,今有伊人明月之畔。
轻歌柔情冰壶之浣,涓涓清流梦入云端。
美人如娇温雅悠婉,目遇赏阅适而自欣。
百草层叠疏而有致,此情此思怀彼佳人。
念所思之唯心叩之,踽踽彳亍寤寐思之。
行云如风逝而复归,佳人一去莫知可回?
深闺冷瘦独自徘徊,处处明灯影还如只。
推窗见月疑是归人,阑珊灯火托手思忖。
庐居闲客而好品茗,斟茶徐徐漫漫生烟。

我有佳人在水之畔,瓮载渔舟浣纱归还。
明月相照月色还低,浅近芦苇深深如钿。
庐山秋月如美人衣,画堂春阁香气靡靡。
秋意幽笃残粉摇曳,轻轻如诉画中蝴蝶。
泾水潺潺取尔浇园,暮色黄昏如沐佳人。
青丝撩弄长裙翩翩,彩蝶飞舞执子手腕。
香带丝缕缓缓在肩,柔美体肤寸寸爱怜。
如水之殇美玉成欢,我有佳人清新如兰。
伊人在水我在一边,远远相望不可亵玩。