OpenLayers Add Marker addPOI,添加标注

+  this.addPOI = function(listpoi) {
+
+ for(var i=0; i<listpoi.length; ++i) {
+
+ var pointWKT = listpoi[i][0];
+ var title = listpoi[i][1];
+ var url = listpoi[i][2];
+ var description = listpoi[i][3];
+
+ var mywkt = new OpenLayers.Format.WKT();
+ feature = mywkt.read(pointWKT)
+ lon = feature.geometry.x
+ lat = feature.geometry.y
+
+ ll = new OpenLayers.Layer.SphericalMercator.forwardMercator(lon, lat);
+
+ popupClass = OpenLayers.Class(OpenLayers.Popup.FramedCloud, { 'autoSize': false });
+
+ var feature = new OpenLayers.Feature(this.msWMS, ll);
+ feature.closeBox = true;
+ feature.popupClass = popupClass;
+ feature.data.popupContentHTML = "<div
style='background-color:white;width:200;height:200'><a href='" + url + "' target='_blank'>" +
title + "</a><br />" + description + "</div>";
+ feature.data.overflow = "auto";
+
+ var size = new OpenLayers.Size(7,7);
+ var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
+ var icon = new OpenLayers.Icon('poi.gif',size,offset);
+
+ feature.data.icon = icon;
+
+ var marker = feature.createMarker();
+
+ var markerClick = function (evt) {
+ if (this.popup == null) {
+ this.popup = this.createPopup(this.closeBox);
+ OLWidget.map.addPopup(this.popup);
+ this.popup.show();
+ } else {
+ this.popup.toggle();
+ }
+ currentPopup = this.popup;
+ OpenLayers.Event.stop(evt);
+ };
+ marker.events.register("mousedown", feature, markerClick);
+
+ this.markers.addMarker(marker);
+ }
+ }
+}

你可能感兴趣的:(OpenLayers)