Et:OpenLayers Marker Example
See on lihtne näide kuidas lisada oma punkti tähistav marker OpenLayers kaardile.
iframe abil
Kõige lihtsam on lisada HTML fragment kasutades <iframe> tag-i. Selleks:
- Mine http://kaart.maakaart.ee/
- Suurenda/nihuta kaart soovitud kohta
- Kliki kaardi all paremal nurgas linki "Permalink"
- Veebiaadressi väljas on uus URL, mis annab kohe määratud kaardiakna.
- asenda saadud URL siin, ja saadki oma HTML-i:
<iframe src="http://kaart.maakaart.ee/?zoom=12&lat=58.25004&lon=22.47902"> </iframe>
PS. kui soovid lisada kaardi keskkohta ikooni, siis lisa URL-ile &marker= ja aadress millelt võtta pilt. Otse samas serveris on olemas näiteks /openlayers/img/marker-blue.png, seega URL-ile tuleks lisada &marker=/openlayers/img/marker-blue.png
Serveris on olemas selliseid pilte:
- /openlayers/img/marker.png (punane)
- /openlayers/img/marker-blue.png
- /openlayers/img/marker-gold.png
- /openlayers/img/marker-green.png
Võid kasutada ka mistahes muud veebis olevat väikest pilti, png või jpg formaadis. Põnevaid lahendusi annab Google Charts API abil genereerida. Pane tähele, et URL-ides tuleb erimärgid asendada (ehk URL-kodeerida). Mina kasutan selleks googlet - annan otsingusse URL-i ja vaatan kuidas google enda loodud URL-is see välja näeb.
Javascript abil
Siin on vajalik kood (kopeeri see oma HTML faili ja vaata brauseriga) :
<html><body> <div id="mapdiv"></div> <script src="http://www.openlayers.org/api/OpenLayers.js"></script> <script> map = new OpenLayers.Map("mapdiv"); map.addLayer(new OpenLayers.Layer.OSM("OpenStreetMap Eesti", "http://kaart.maakaart.ee/modtile/est/${z}/${x}/${y}.png")); var lonLat = new OpenLayers.LonLat( 22.486111 ,58.253333 ) .transform( new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984 map.getProjectionObject() // to Spherical Mercator Projection ); var zoom=12; var markers = new OpenLayers.Layer.Markers( "Markers" ); map.addLayer(markers); markers.addMarker(new OpenLayers.Marker(lonLat)); map.setCenter (lonLat, zoom); </script> </body></html>
Siin kasutatakse sama lonLat objekti et lisada marker ja määrata kaardi keskkoht. Võid lisada veel markereid kasutades markers.addMarker(new OpenLayers.Marker(newLonLat));, kui defineerid uue lonlat objekti.
Vaata ka
OpenLayers Simple Example - siin eestikeelse kaardi jaoks kasuta sellist käsku:
map.addLayer(new OpenLayers.Layer.OSM("OpenStreetMap Eesti", "http://kaart.maakaart.ee/modtile/est/${z}/${x}/${y}.png"));
