[OpenLayers-Users] Problem with Vector
Stormcrow
ibrahim.bouchrika at kahosl.be
Fri Feb 13 08:57:58 EST 2009
I'm trying to draw a point on a map, and to draw a line between two points.
but Somehow, none of both seem to work.
I have the lon en lat of every point, which I transform so that I can use
them as x and y for the Point Objects.
I have been tinkering with it for a few hours and I'm growing tired of
wasting time on such a seemingly silly matter :D
Does anybody have a clue on what I'm doing wrong?
and here is the javascript code:
var map;
var drawControls;
var center = new OpenLayers.LonLat(4.68887,50.87589);
//var center2 = new
OpenLayers.LonLat(523649.42436625174,6599806.262664414);
function init(){
map = new OpenLayers.Map("map");
var kaart = new OpenLayers.Layer.OSM.Mapnik("Kaart");
var paden = new OpenLayers.Layer.Vector("Paden");
map.addLayers([kaart, paden]);
//var pois = new OpenLayers.Layer.Text( "My Points", {
location:"./textfile.txt", projection: new
OpenLayers.Projection("EPSG:4326")} );
//map.addLayer(pois);
//map.addControl(new OpenLayers.Control.LayerSwitcher());
map.setCenter(center.transform(new
OpenLayers.Projection("EPSG:4326"), new
OpenLayers.Projection("EPSG:900913")), 14);
//map.setCenter(center2, 14);
/*
* Put point on map
*/
var style_mark = OpenLayers.Util.extend({},
OpenLayers.Feature.Vector.style['default']);
style_mark.graphicWidth = 24;
style_mark.graphicXOffset = -(style_mark.graphicWidth/2); //
this is the default value
style_mark.graphicYOffset = -style_mark.graphicHeight;
style_mark.externalGraphic = "Ol_icon_blue_example.png";
var lonlat = new OpenLayers.LonLat(4.70452,
50.87906).transform(new OpenLayers.Projection("EPSG:4326"), new
OpenLayers.Projection("EPSG:900913"));
//alert(lonlat.lon + ', ' + lonlat.lat);
var point = new OpenLayers.Geometry.Point(lonlat.lon,
lonlat.lat);
var pointFeature = new
OpenLayers.Feature.Vector(point,null,style_mark);
/*
* Put path on map
*/
drawLine(4.70452,50.87906,4.716585,50.864909);
}
function drawLine(start_x, start_y, finish_x, finish_y) {
var pointList = [];
var lonlat_start = new OpenLayers.LonLat(start_x,
start_y).transform(new OpenLayers.Projection("EPSG:4326"), new
OpenLayers.Projection("EPSG:900913"));
var newPoint = new OpenLayers.Geometry.Point(lonlat_start.lon,
lonlat_start.lat);
//alert(newPoint.x + ', ' + newPoint.y);
pointList.push(newPoint);
var lonlat_finish = new OpenLayers.LonLat(finish_x,
finish_y).transform(new OpenLayers.Projection("EPSG:4326"), new
OpenLayers.Projection("EPSG:900913"));
var newPoint = new OpenLayers.Geometry.Point(lonlat_finish.lon,
lonlat_finish.lat);
pointList.push(newPoint);
var lineFeature = new OpenLayers.Feature.Vector(new
OpenLayers.Geometry.LineString(pointList));
--
View this message in context: http://n2.nabble.com/Problem-with-Vector-tp2321331p2321331.html
Sent from the OpenLayers Users mailing list archive at Nabble.com.
More information about the Users
mailing list