[OpenLayers-Users] markers

gandrap dragan.pavlicevic.011 at gmail.com
Fri Jul 19 05:09:06 PDT 2013


openlayers

I have problem with markers, actually with clicking on it.
I want to achive that, when i click on a marker, on a left side in a div
show name of that marker. Problem is that I always get name from last
marker. I guess, that is a problem in the loop, but i don't know what...
here is a code:

var paramId = window.params.id;
var paramType = window.params.type;
var map;
var mainType;
var info;
var feedId;
var showPopupOnHover = false;
var markers2;
var position;
function drawmap() {
    var lat            = 44.691701;
    var lon            = 20.519972;
    var zoom           = 18;
    var fromProjection = new OpenLayers.Projection("EPSG:4326");   //
Transform from WGS 1984
    var toProjection   = new OpenLayers.Projection("EPSG:900913"); // to
Spherical Mercator Projection
    var position       = new OpenLayers.LonLat(lon, lat).transform(
fromProjection, toProjection);
    map = new OpenLayers.Map("map");
    var mapnik         = new OpenLayers.Layer.OSM();
    map.addLayer(mapnik);
    downloadUrl("includes/feed/"+paramType+".php?id="+paramId,
function(data) {
        var markers = data.documentElement.getElementsByTagName("zoom");
        for (var i = 0; i < markers.length; i++) {
            zoom = markers[i].getAttribute("zoom");
            lat = parseFloat(markers[i].getAttribute("lat"));
            lng = parseFloat(markers[i].getAttribute("lng"));
            var position = new OpenLayers.LonLat(lng, lat).transform(
fromProjection, toProjection);
            map.setCenter(position, zoom);
        }
        var markers = data.documentElement.getElementsByTagName("feed");
        for (var i = 0; i < markers.length; i++) {
            name = markers[i].getAttribute("name");
            link = markers[i].getAttribute("jumpto");
            id = markers[i].getAttribute("id");
            lat = parseFloat(markers[i].getAttribute("lat"));
            lng = parseFloat(markers[i].getAttribute("lng"));
            type = markers[i].getAttribute("type");
            info = markers[i].getAttribute("info");
            mainType = markers[i].getAttribute("main_type");
    // Add used maker icons..
            icons = new Array();
            icons[i] = new
Array('gui/icons/'+type+'.png','21','25','0.5','1');
            var size = new OpenLayers.Size(21,25);
            var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
            var icon = new OpenLayers.Icon('gui/icons/'+type+'.png', size,
offset);
    // Add markers
            var position = new OpenLayers.LonLat(lng, lat).transform(
fromProjection, toProjection);
            var markers2 = new OpenLayers.Layer.Markers( "Markers" );
            markers2.addMarker(new OpenLayers.Marker(position, icon));
            //markers2.events.register('mousedown', markers2, function() {
$('.main_info').html(name);  });
            map.addLayer(markers2);
        }
            markers2.events.register('mousedown', markers2, function() {
$('.main_info').html(name);  });
            map.addLayer(markers2);
    });
}
//]]>*/
</script>
</head>
<body onload="drawmap()">
<div id="layer"><div class="" id="layer_layerMapnik"
onclick="setLayer(0)">Mapnik</div></div>
<div id="map"></div>
<div class='main_info'></div>
thanks in advance.



--
View this message in context: http://osgeo-org.1560.x6.nabble.com/markers-tp5067581.html
Sent from the OpenLayers Users mailing list archive at Nabble.com.


More information about the Users mailing list