I have succefully add some marker on opnelayers. <br>But I want to add a polyline on it. <br><br>How to cope with? <br><br>I have a html file and try to add a polyline , but not succeful. anyone could have a look?<br>below is my html file:<br>
-------------------------------------------------------------------------------------------------------------------------------------------<br><!DOCTYPE html><br><html><br> <head><br> <title>India Mapserver</title><br>
<script src="<a href="http://openlayers.org/api/OpenLayers.js">http://openlayers.org/api/OpenLayers.js</a>"></script><br> <script type="text/javascript"><br><br> var map,baseLayer;<br>
var lat;<br> var lng;<br> var pointslng = [];<br> var pointslat = [];<br> var objNodeList; <br> var Node; <br>var format;<br> <br> try //Internet Explorer<br>
{<br> xdoc=new ActiveXObject("Microsoft.XMLDOM");<br> }<br>catch(e)<br> {<br> try //Firefox, Mozilla, Opera, etc.<br> {<br> xdoc=document.implementation.createDocument("","",null);<br>
}<br> catch(e) {alert(e.message)}<br> }<br>try <br> {<br> xdoc.async=false;<br> xdoc.load("getDeviceInfo.php.xml");<br> }<br>catch(e) {alert(e.message)}<br><br><br> nodes = xdoc.documentElement.childNodes;<br>
objNodeList = xdoc.getElementsByTagName("marker");<br> for ( var i=0; i<objNodeList.length; i++)<br>{<br><br>Node =objNodeList[i];<br> for (var k=0; k< Node.attributes.length; k++)<br> {<br> if(Node.attributes[k].nodeName == "lng")<br>
lng = Node.attributes[k].nodeValue;<br> if(Node.attributes[k].nodeName == "lat")<br> lat = Node.attributes[k].nodeValue;<br> }<br> pointslng.push( lng ) ;<br> pointslat.push( lat ) ;<br>}<br>
<br> function init() {<br><br> // The overlay layer for our marker, with a simple diamond as symbol<br> var overlay = new OpenLayers.Layer.Vector('Overlay', {<br> styleMap: new OpenLayers.StyleMap({<br>
externalGraphic: 'marker.png',<br> graphicWidth: 20, graphicHeight: 24, graphicYOffset: -24,<br> title: '${tooltip}'<br> })<br> });<br> <br> for (var l=0; l< pointslng.length; l++)<br>
{<br> // The location of our marker and popup. We usually think in geographic<br> // coordinates ('EPSG:4326'), but the map is projected ('EPSG:3857').<br> var myLocation = new OpenLayers.Geometry.Point( pointslng[l],pointslat[l])<br>
.transform('EPSG:4326', 'EPSG:3857');<br><br> // We add the marker with a tooltip text to the overlay<br> overlay.addFeatures([<br> new OpenLayers.Feature.Vector(myLocation, {tooltip: 'OpenLayers'})<br>
]);<br> }<br><br> var style = new OpenLayers.Style({<br> strokeWidth: "${strokeWidth}"<br> }, {<br> context:{<br> strokeWidth:function(feature) {<br> return feature.attributes.strokeWidth;<br>
}<br> }<br> }<br> ); <br><br> var points_ = new Array(<br> new OpenLayers.Geometry.Point(77.08,28.74),<br> new OpenLayers.Geometry.Point(79.08,28.94)<br> );<br>
<br> var line = new OpenLayers.Geometry.LineString(points_);<br> var feat = new OpenLayers.Feature.Vector(line,null,style);<br> feat.attributes.strokeWidth = 5;<br> <br> var vectors = new OpenLayers.Layer.Vector("Vector",{maxResolution: 156543.0339}); <br>
vectors.addFeatures([feat]);<br><br> // A popup with some information about our location<br> var popup = new OpenLayers.Popup.FramedCloud("Popup", <br> myLocation.getBounds().getCenterLonLat(), null,<br>
'<a target="_blank" href="<a href="http://openlayers.org/">http://openlayers.org/</a>">We</a> ' +<br> 'could be here.<br>Or elsewhere.', null,<br> true // <-- true if we want a close (X) button, false otherwise<br>
);<br><br> map = new OpenLayers.Map({<br>div:"map",projection:"EPSG:3857",<br>layers:[ new OpenLayers.Layer.MapServer("OSM map","/cgi-bin/mapserv?",{map:"/home/jack/osm-demo/basemaps/osm-google.map",layers:"all",map_image_type:"png"},{singleTile:true,ratio:1.0})], <br>
center:myLocation.getBounds().getCenterLonLat(),zoom:5});<br>map.addLayer(overlay);<br>map.addLayer(vectors);<br> <br>map.addPopup(popup); <br>}<br> <br> </script><br><br> <style><br> @media screen<br>
{<br> #map{width: 800px; height:400px; border: 2px solid black;}<br><br> }<br> </style><br> </head><br> <body onload="init()"><br> <h3>India Mapserver</h3><br>
<div id="map"></div><br> </body><br></html><br>-------------------------------------------------------------------------------------------------------<br clear="all"><br><br>I use vectors layer to store the polyline.<br>
<br>Tks.<br><br><br>-- <br><div style="text-align:left"><span style="text-align:-webkit-auto">Yang Li</span><div>GIS Developer</div><div>P.R.China</div><div><br></div></div><br>