[OpenLayers-Users] Add Point to Map

Jones, Christopher Christopher.Jones at amlin.co.uk
Fri Nov 13 08:04:49 EST 2009




Hi all,

 

Im fairly new to OpenLayers and  javascript for that matter as well.
Having looked extensively through all the various examples and forums
and blogs, and one or 2 tutorials, I am still struggling to add a point
to a map (or a vector layer)!  All I want, is to click on a map and adda
a point.  Heres my code, please feel free to point all the errors you
want!

 

Thanks in advance!

 

Chris

(Sorry if this has been sent twice)

 

 

var myStyles = new OpenLayers.StyleMap({

    "default": new OpenLayers.Style({

        fillColor: "#ffcc66",

        strokeColor: "#ff9933",

        strokeWidth: 10

    })

});

 

function initialiseMap(){

        map = new OpenLayers.Map('map');

        map.addControl(new OpenLayers.Control.LayerSwitcher());

        var gphy = new OpenLayers.Layer.Google(

                "Google Physical",

                { type: G_PHYSICAL_MAP }

            );

        var gmap = new OpenLayers.Layer.Google(

                "Google Streets", 

                {numZoomLevels: 20 }

            );

        var ghyb = new OpenLayers.Layer.Google(

                "Google Hybrid",

                { type: G_HYBRID_MAP, numZoomLevels: 20 }

            );

        var gsat = new OpenLayers.Layer.Google(

                "Google Satellite",

                { type: G_SATELLITE_MAP, numZoomLevels: 20 }

            );

                map.addLayers([gphy, gmap, ghyb, gsat]);

                map.setCenter(new OpenLayers.LonLat(-74.0094, 40.7048),
5);

                map.addControl(new OpenLayers.Control.PanZoomBar());

                map.addControl(new OpenLayers.Control.MousePosition());

}

 

 

 

function singleClickButton() {

    document.getElementById("map").childNodes[0].style.cursor =
"crosshair";

    map.events.register('click', '', singleClickEvent); 

 

}

 

function singleClickEvent (e) {

    var lonlat = map.getLonLatFromViewPortPx(e.xy);

    var lon = lonlat.lon

    var lat = lonlat.lat

 

    var pointLayer = new OpenLayers.Layer.Vector('Points', { styleMap:
myStyles });

    map.addLayers([pointLayer]);

    var bPoint = new OpenLayers.Geometry.Point(lon , lat)

    newpoint = new OpenLayers.Feature.Vector(bPoint);

    pointLayer.addFeatures(newpoint);

    

}

 

 

 

 

 

 



IMPORTANT - This email and the information that it contains may be confidential, legally privileged and protected by law. Access by the intended recipient only is authorised. Any liability (in negligence or otherwise) arising from any third party acting, or refraining from acting, on any information contained in this email is hereby excluded. If you are not the intended recipient, please notify AmlinCommunications at amlin.co.uk immediately then delete it and do not disclose the contents to any other person, use it for any purpose or store or copy the information in any medium.

Copyright in this email and attachments created by us belong to Amlin plc and/or one or more of its subsidiaries (Amlin Group). The author also asserts the right to be identified as such and object to any misuse.

The Amlin Group prohibits and takes steps to prevent its email systems from being used to view, store or transmit offensive, obscene or discriminatory material. If this message contains inappropriate material please report it immediately to AmlinCommunications at amlin.co.uk.

The Amlin Group records, monitors and may inspect messages that use its telecoms systems in order to protect its information, interests and reputation. Any message sent by you to or within the Amlin Group may therefore be viewed and may be acted upon.

Of the companies within the Amlin Group, Amlin Underwriting Limited, Amlin Underwriting Services Limited, Amlin UK Limited and Amlin Plus Limited are authorised and regulated by the Financial Services Authority.

This email has been sent by a member of staff of one or more of the following Amlin Group companies:

Amlin plc. Registered in England and Wales no. 2854310
Amlin Underwriting Limited. Registered in England and Wales no. 2323018
Amlin Underwriting Services Limited. Registered in England and Wales no. 422615
Amlin UK Limited. Registered in England and Wales no. 2739220
Amlin Plus Limited. Registered in England and Wales no. 4729659

Registered Offices: St Helen's, 1 Undershaft, London EC3A 8ND, United Kingdom

Amlin plc switchboard: 020 7746 1000 
Web Site: http://www.amlin.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20091113/8d68dfdb/attachment.html


More information about the Users mailing list