рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП OSM рдФрд░ OpenLayers рдХрд╛ рдПрдХ рд╕рд╛

рд╣рд╛рдп рд╣рдмрд░, рдЖрдЬ рдореИрдВ рдЙрджреНрдпрдореЛрдВ рдФрд░ рдмреА 2 рдмреА рдХреЗ рд▓рд┐рдП рдСрд╕реНрдо рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдмрддрд╛рдКрдВрдЧрд╛ред
рдЕрд░реНрдерд╛рддреН, рдХреИрд╕реЗ рдФрд░ рдХреНрдпреЛрдВ рдЧреВрдЧрд▓ рдореИрдкреНрд╕ рдПрдкреАрдЖрдИ рд╕реЗ рдСрд╕реНрдо, рдУрдкрдирд░ рдФрд░ рдЦреБрд╢реА рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВред

рдкрд╣рд▓рд╛ рд╕рд╡рд╛рд▓ рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдареЗрдЧрд╛: рдХреНрдпреЛрдВ?

рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЧреИрд░-рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЧреВрдЧрд▓ рдореИрдкреНрд╕ рдПрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реЗрд╡рд╛ рдХреА рд╢рд░реНрддреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рд╣реИред рджреВрд╕рд░рд╛: рдЧреВрдЧрд▓ рдореИрдкреНрд╕ рдПрдкреАрдЖрдИ - рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдЧреВрдЧрд▓ рдореИрдкреНрд╕ рдПрдкрд┐ рд╣реИ, рдореИрдк рдЬреИрд╕рд╛ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реА рд╣рд░ рдЪреАрдЬ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреА рдирд╣реАрдВред рдпрд╛рдиреА рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рдХреЗ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдЦреАрдВрдЪреА рдЧрдИ рд░реЗрдЦрд╛рдкреБрдВрдЬ рдкрд░рдд рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдмреИрд╕рд╛рдЦреА рдХреЛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд░рд╣реЗрдВред рдареАрдХ рд╣реИ, рдмрд╕ рддреИрдпрд╛рд░ рд░рд╣реЗрдВ рдХрд┐ рдпрджрд┐ рдХреБрдЫ рдПрдкреА рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЬреЛрдбрд╝рдирд╛ рджрд░реНрджрдирд╛рдХ рд╣реЛрдЧрд╛ред рддреАрд╕рд░рд╛: рдЖрдк рдХреНрд░рдорд╢рдГ рдирдХреНрд╢рд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдЖрдк рдЙрджреНрдпрдо рдХреЗ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рдиреАрдп рдорд╛рдирдЪрд┐рддреНрд░ рд╕реЗрд╡рд╛ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗред рдЕрд░реНрдерд╛рддреН, рдкреНрд░рддреНрдпреЗрдХ рдЧреНрд░рд╛рд╣рдХ рдорд╢реАрди рд╕реЗ Google рдорд╛рдирдЪрд┐рддреНрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдкрд╛рдЧрд▓ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рддрдХ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдмрд╛рд╣рд░реА рдиреЗрдЯрд╡рд░реНрдХ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИред

рдорд╛рди рд▓реЛ рдореИрдВрдиреЗ рддреБрдореНрд╣реЗрдВ рдордирд╛ рд▓рд┐рдпрд╛ред рдХрд╣рд╛рдБ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ?

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХрд╛рд░реНрдб рдХреЛ рдУрдкрдирд▓реЗрдпрд░реНрд╕ рдореЗрдВ рдкреНрд▓рдЧ рдХрд░реЗрдВред рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ рдФрд░ Google, рдпреИрдВрдбреЗрдХреНрд╕, рд▓реАрдлрд▓реЗрдЯ рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИред

//  ,       id='map' var map = new OpenLayers.Map('map'); //     OSM   "OSM mapnik" var layer = new OpenLayers.Layer.OSM('OSM mapnik'); //    map.addLayer(layer); //    ,  ,    . map.zoomToMaxExtent(); 


рдмрдбрд╝реА рдХрдВрдкрдирд┐рдпрд╛рдВ рдЕрдХреНрд╕рд░ рдПрдХ рдирдХреНрд╢рд╛ рд╕рд░реНрд╡рд░ рдФрд░ рдХрд╛рд░реНрдб рдЦрд░реАрджрдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рдЯреНрд╕ рдпрд╛ рдЯреАрдПрдордПрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдЙрдард╛ рд╕рдХрддреА рд╣реИрдВред WMS рдФрд░ TMS рдРрд╕реЗ рдорд╛рдирдХ рд╣реИрдВ рдЬрд┐рдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдЖрдк рдорд╛рдирдЪрд┐рддреНрд░ рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕реНрд▓рд╛рдЗрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЦреНрдп рдЕрдВрддрд░: wms рджреНрд╡рд╛рд░рд╛ рдЖрдк рдордирдорд╛рдиреА рдкреИрдорд╛рдиреЗ рдХреЗ рдирдХреНрд╢реЗ рдХреЗ рдПрдХ рдордирдорд╛рдиреЗ рдЯреБрдХрдбрд╝реЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, tms рджреНрд╡рд╛рд░рд╛ - рддрд░рд╛рдЬреВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдФрд░ рдирдХреНрд╢реЗ рдХреЛ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рддрджрдиреБрд╕рд╛рд░, рд╣рдо wms рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрди рдмрджрд▓рддреЗ рд╣реИрдВ

 //    WMS var wms = new OpenLayers.Layer.WMS( //      "NASA Global Mosaic", // wms    "http://wms.jpl.nasa.gov/wms.cgi", //   wms: // ,  wms      ,       {layers: "modis,global_mosaic"} ); 


tms рдХреЗ рд▓рд┐рдП:

 //    TMS var layer = new OpenLayers.Layer.TMS( //      "My TMS Layer", //  TMS  "http://tilecache.osgeo.org/wms-c/Basic.py/", //   TMS: //    ,     (png/jpeg/gif)  {layername: "basic", type: "png"} ); 


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреЛрдИ рднреА рдЖрдкрдХреЛ рдирдХреНрд╢реЗ рдореЗрдВ рд╕рднреА 3 рдкрд░рддреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдЙрдирдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рджреВрд╕рд░реЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдкрд░рдд рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред

рдкреНрд░рдХреНрд╖реЗрдкрдг

рдЕрдм рд░реЗрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж рдЬреЛ рдЖрдк рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд░рдЦрддреЗ рд╣реИрдВред

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк osm.org (OpenLayers.Layer.OSM) рд╕реЗ рдПрдХ рдореИрдк рд▓реЗрдпрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдореИрдк рдореЙрд╕реНрдХреЛ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЦреБрд▓ рдЬрд╛рдП, рди рдХрд┐ рдкреВрд░реА рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдПред рд╣рдо рдорд╛рд╕реНрдХреЛ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЕрдХреНрд╖рд╛рдВрд╢ рдФрд░ рджреЗрд╢рд╛рдВрддрд░ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ

 map.zoomToMaxExtent 

рд▓рд┐рдЦрдиреЗ

 map.moveTo( //    new OpenLayers.LonLat(37.16, 55.604), // 9 ); 


рдФрд░ рд╣рдо рд╕рд╛рдЧрд░ рдореЗрдВ рдЧрд┐рд░ рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рд╕рднреА рд╕рдордиреНрд╡рдп рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдореЗрдкрд▓ рдкрд░рдд рдХреЗ рд▓рд┐рдП, рдореВрд▓ рд╕рдордиреНрд╡рдп рдкреНрд░рдгрд╛рд▓реА EPSG: 900913 рд╣реИред рдЗрд╕рдореЗрдВ рд╕рдВрджрд░реНрдн рдмрд┐рдВрджреБ рдЧреНрд░реАрдирд╡рд┐рдЪ рдореЗрд░рд┐рдбрд┐рдпрди рдФрд░ рднреВрдордзреНрдп рд░реЗрдЦрд╛ рдХрд╛ рдЪреМрд░рд╛рд╣рд╛ рд╣реИ, рдФрд░ рдЗрдХрд╛рдЗрдпрд╛рдВ рдореАрдЯрд░ рд╣реИрдВред рддрджрдиреБрд╕рд╛рд░, рд╣рдо рд╕рдВрджрд░реНрдн рдмрд┐рдВрджреБ рд╕реЗ 37 рдореАрдЯрд░ рдкреВрд░реНрд╡ рдФрд░ 55 рдореАрдЯрд░ рдЙрддреНрддрд░ рдореЗрдВ рдереЗред

рд╣рд░ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдЪрд┐рдд рджреЗрд╢рд╛рдВрддрд░ рдФрд░ рдЕрдХреНрд╖рд╛рдВрд╢ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╡реЗ EPSG: 4326 рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИрдВред рддрджрдиреБрд╕рд╛рд░, рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рдкреБрдирд░реНрдЧрдгрдирд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

 map.moveTo( //   new OpenLayers.LonLat(37.16, 55.604).transform( //   EPSG:4326 new OpenLayers.Projection('EPSG:4326'), //    (EPSG:900913) map.getProjectionObject() ), 9 ); 


рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдХрдИ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдкреНрд░рдгрд╛рд▓рд┐рдпрд╛рдВ рд╣реИрдВ, рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдХрд┐ рдУрдкрдирд░ рдореЗрдВ рдХреЛрдИ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордпред рдпрд╣ рдПрдХ рд╕рд┐рд░рджрд░реНрдж рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЧреНрд░рд╛рд╣рдХ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдпрджрд┐ рд╡реЗ рдХреБрдЫ рд╡рд┐рджреЗрд╢реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреБрд▓рдХреЛрд╡реЛ 42ред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, proj4js ( trac.osgeo.org/proj4js/wiki/Download ) рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ рдФрд░ рд▓рд╛рдЗрди рдЬреЛрдбрд╝реЗрдВ

 Proj4js.defs['EPSG:28403'] = '+proj=tmerc +lat_0=0 +lon_0=39 +k=1 ' + '+x_0=500000 +y_0=0 +no_defs +a=6378140 +rf=298,257223563 +units=m ' + '+towgs84=28.000,-130.000,-95.000 +to_meter=1'; 


рдЕрдм рдЖрдк рдПрдХ рдирдП рдкреНрд░рдХреНрд╖реЗрдкрдг рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдкреБрдирд░реНрдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣ рдкреБрд▓рдХреЛрд╡реЛ 42 рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдереЛрдбрд╝рд╛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде, рдЖрдк рдЕрдиреНрдп рд╕рдордиреНрд╡рдп рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдкрд░рддреЛрдВ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдм рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рдЪреБрдХреЗ рд╣реИрдВ рдХрд┐ рдкрд░рддреЛрдВ рдХреЛ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рддреЛ рд╣рдо рдорд╛рд░реНрдХрд░, рд▓рд╛рдЗрди рдФрд░ рдЗрд╡реЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред

рдорд╛рд░реНрдХрд░

рд▓реАрдпрд░ рдореЗрдВ 2 рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
HTML (OpenLayers.Marker) рдФрд░ рд╡реЗрдХреНрдЯрд░ (OpenLayers.Geometry.Point)ред рдмрд╛рдж рдореЗрдВ рдореИрдВ рд╕рдордЭрд╛рдКрдВрдЧрд╛ рдХрд┐ рдпрд╣рд╛рдБ рдорд╛рд░реНрдХрд░ рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ рдФрд░ рдХреНрдпреЛрдВ рдмрд┐рдВрджреБ рд╣реИред

HTML рдорд╛рд░реНрдХрд░ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ divs рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдПрдХ рдЪрд┐рддреНрд░ рд░рдЦрддрд╛ рд╣реИ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирдХреНрд╢реЗ рдХреЗ рдКрдкрд░ рд╕реНрдерд┐рдд рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдиреЗ рдХрднреА рдлрд╛рдпрд░рдмрдЧ рдпрд╛ рдЕрдиреНрдп рдбреАрдмрдЧрд░ рдХреЗ рд╕рд╛рде рджреЗрдЦрд╛ рд╣реИ рдХрд┐ Google рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдПрдХ рдорд╛рд░реНрдХрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк рд╣рд░ рдЪреАрдЬ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдВрдЧреЗред рдкреЙрдкрдЕрдк рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЖрд╕рд╛рди рд╣реИ, рд╡реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣рд╛рдБ рдПрдХ html рд╡рд╕реНрддреБ рд╣реИ) jquerry рд╕реЗ, рдФрд░ рдлрд┐рд░ рднреА, рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдЙрдиреНрд╣реЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпреЛрдВ? рд╡реЗ рдХреБрдЫ рднрд╛рд░реА рд╣реИрдВ: рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ 1 рдорд╛рд░реНрдХрд░ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛрддрд╛ рд╣реИ, рдЬрдм рдПрдХ рд╣рдЬрд╛рд░ рдЦрд░рд╛рдм рд╣реЛрддрд╛ рд╣реИред рд╡реЗ рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рдХреА рд╕рд╛рдорд╛рдиреНрдп рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕реЗ рдмрд╛рд╣рд░ рдЦрдЯрдЦрдЯрд╛рдП рдЧрдП рд╣реИрдВ рдФрд░ ol рдореЗрдВ рдЕрдкрдирд╛рдП рдЧрдП рд╣реИрдВред рдЦреИрд░, рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХрд╛рд░рдгреЛрдВ рд╕реЗ: рдЬрдм рдореИрдВрдиреЗ рд▓реАрдпрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рдРрд╕реЗ рдорд╛рд░реНрдХрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдбреНрд░реИрдЧ рдХрдВрдЯреНрд░реЛрд▓ рдирд╣реАрдВ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╡рд╣ рдЕрднреА рднреА рдЧрдпрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдорд╛рдирдЪрд┐рддреНрд░ рдореЗрдВ рдорд╛рд░реНрдХрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХреЛрдб:

 //    var markers = new OpenLayers.Layer.Markers( "Markers" ); //    map.addLayer(markers); //,    var lonLat = new OpenLayers.LonLat( 0, 0 ); //       0, 0 //    markers.addMarker(new OpenLayers.Marker(lonLat)); 


рд╣рд╛рдВ, рдорд╛рд░реНрдХрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрдИ рдкрд░рддреЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рд╣рд╛рдВ, рдЖрдк рдкрд░рддреЛрдВ рдХреА рджреГрд╢реНрдпрддрд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рдорд╛рд░реНрдХрд░реЛрдВ рдХреЗ рд╕рдореВрд╣реЛрдВ рдХреЛ рдЫрд┐рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдм рдЗрди рд╡реЗрдХреНрдЯрд░ рдорд╛рд░реНрдХрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ "рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реИред
рдХреБрдЫ рд▓реЛрдЧ рдирдХреНрд╢реЗ рдХреЗ рд╕рд╛рде рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░реЗрдЦрд╛рдкреБрдВрдЬ рдкрд░рддреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╕реЗ рдЦреБрд╢ рд╣реИрдВред рдЙрдирдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЕрдкрдиреЗ рдЕрджреНрд╡рд┐рддреАрдп рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдореБрдЦреНрдп рдЖрдХрд░реНрд╖рдгред рддреЛ, рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдо рдСрдкреНрдЯрд┐рдХрд▓ рдХреЗрдмрд▓, рдХреЙрдкрд░ рдХреЗрдмрд▓ рдФрд░ рдХреБрдПрдВ / рдкреЛрд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╣ рдЕрдЪреНрдЫрд╛ рдирдХреНрд╢рд╛ рдкрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЬреНрдпрд╛рдорд┐рддреАрдп рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрдЧреА (рдХреИрд╕реЗ рдХреЗрдмрд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧреБрдЬрд░рддреА рд╣реИ / рдЬрд╣рд╛рдВ рдкреЛрд▓ тАЛтАЛрдпрд╛ рдХреБрдЖрдВ рд╕реНрдерд┐рдд рд╣реИ) рдФрд░ рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯрд┐рд╡ (рдХреЗрдмрд▓ рдкреНрд░рдХрд╛рд░, рдХреЗрдмрд▓ рдХреЛрд░ рдХреА рд╕рдВрдЦреНрдпрд╛, рд╕рд┐рдЧреНрдирд▓ рдХреНрд╖реАрдгрди, рдкреЛрд▓ рдХреА рдКрдВрдЪрд╛рдИ ... рд╕реВрдЪреА рдХреЛ рдЕрдирдиреНрддрддрд╛ рддрдХ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рд╕реАрдзреЗ рддреМрд░ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

рдСрдмреНрдЬреЗрдХреНрдЯ - "OpenLayers.Feature.Vector", рдЗрд╕рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ, рдЬреНрдпрд╛рдорд┐рддрд┐ рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдкреНрд░рджрд░реНрд╢рди рд╢реИрд▓реА рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред
рдмрд┐рдВрджреБ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП:

 new OpenLayers.Feature.Vector( // -    x, y (x -longitude, y - latitude) new OpenLayers.Geometry.Point(x, y), //: ,  {'type':'pillon', 'height':100}, //,         . //        null ); 


рд╢реИрд▓рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрджред
рд╢реИрд▓рд┐рдпреЛрдВ рдореЗрдВ, рдЖрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИред рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╡рд┐рднрд┐рдиреНрди рдЖрдЗрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рд▓рдХреЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдУрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реЗрдВ, рдФрд░ рд╕реНрддрдВрднреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рднрд░рдг рд░рдВрдЧ, рдореЛрдЯрд╛рдИ рдФрд░ рд╕реНрдЯреНрд░реЛрдХ рд░рдВрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЖрдк рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдкрд╛рда рд▓реЗрдмрд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрджрд┐ред рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╢реИрд▓реА рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рд╢реИрд▓реА рдХреЛ рдПрдХ рдкрд░рдд рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдкрд░рдд рдореЗрдВ рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЙрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдФрд░ рдЕрднреА рддрдХ рдорд╛рд░реНрдХрд░реЛрдВ рдХреЗ рд▓рд┐рдП:

 //   . //Markers -      . //     {showInLayerSwitcher: false} //      . var markers = new OpenLayers.Layer.Vector('Markers'); //    map.addLayer(markers); //,     var marker = new OpenLayers.Feature.Vector( /// new OpenLayers.Geometry.Point(0, 0), //   {}, //,   { //  externalGraphic:'http://someware.com/my_favorite_marker_icon.png', //   graphicWidth:16, //   * graphicHeight:16, //   8   //   graphicXOffset:-8, //  16   graphicYOffset:-16, //   (     ) label:'   ', //     -  labelAlign: 'ct', //   5   labelYOffset: '5' } ); markers.addFeatures([marker]); 

* рдкреНрд░рд┐рдп рд╡реНрдпрд╛рдХрд░рдг-рдирд╛рдЬрд╝реА, рдпрд╣ рдПрдХ рдмрдЪреНрдЪреЛрдВ рдХреЗ рдЧреАрдд рдХреЗ рд▓рд┐рдП рдПрдХ рднреНрд░рдо рдерд╛ред

рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рд╣реА рд╢реИрд▓реА рдХреЗ рд╕рд╛рде рдХрдИ рдорд╛рд░реНрдХрд░ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рд╢реИрд▓реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╢реИрд▓реА рдХреА рдЖрд╡реГрддреНрддрд┐ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╕рднреА рдорд╛рд░реНрдХрд░реЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред

рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдПрдХ рдорд╛рд░реНрдХрд░ рдЬреЛрдбрд╝рд╛ред рдЕрдм рдЗрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реЗрдВ, рдЗрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдФрд░ рдЕрдиреНрдп рдШрдЯрдирд╛рдУрдВ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдВред рджрд░рдЕрд╕рд▓, рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдмрд╛рдХреА рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рд╕реЗ рдЕрд▓рдЧ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рдирдХреЗ рд╕рд╛рде рдореБрдЭреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдореМрдХрд╛ рдорд┐рд▓рд╛ рдерд╛ (рдПрдХ рдЪреМрдХрд╕ рдкрд╛рдардХ рдЬреЛ рдмрд┐рдирд╛ рдЕрдиреБрдЪреНрдЫреЗрджреЛрдВ рдХреЗ рдкреВрд░реЗ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ, рдЙрд╕реЗ рдкрддрд╛ рдЪрд▓ рдЬрд╛рдПрдЧрд╛ рдХрд┐, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ Google рд╣реИ рдФрд░ рдпрд╛рдВрдбреЗрдХреНрд╕ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдкрддреНрддрд╛ рд╣реИ)ред

рдбреНрд░реИрдЧ рдЬреЛрдбрд╝реЗрдВ:

 //     ,      . var drag = OpenLayers.Control.DragFeature(markers); //      ,     //OpenLayers.Layer.Vector.RootContainer    // //    map.addControl(drag); //  //(      ,  ...) drag.activate(); 


рдпрджрд┐ рдореЗрд░реА рдореЗрдореЛрд░реА рдореБрдЭреЗ рд╡рд┐рдлрд▓ рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЕрдВрддрддрдГ рдорд╛рд░реНрдХрд░ рдХреЛ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдорддреЗ рд╣реБрдП рдорд┐рд▓реЗрдЧрд╛ред

рдпрд╛ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рд╣рдорд╛рд░реЗ рдорд╛рд░реНрдХрд░ рдкреЙрдкрдЕрдк рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:

 selectControl = new OpenLayers.Control.SelectFeature(markers, { //     onSelect: onFeatureSelect, //     onUnselect: onFeatureUnselect }); function onFeatureSelect(feature) { popup = new OpenLayers.Popup.FramedCloud("chicken", feature.geometry.getBounds().getCenterLonLat(), null, "<div style='font-size:.8em'> Habr!</div>", null, true, onPopupClose ); feature.popup = popup; map.addPopup(popup); } function onFeatureUnselect(feature) { map.removePopup(feature.popup); feature.popup.destroy(); feature.popup = null; } 

рдЖрдк рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: openlayers.org/dev/examples/select-feature-openpopup.html

рдЬрдм рдЖрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рддреЛ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИрдВ


рдпрд╣ рдПрдХ рдирд┐рд░рд╛рдХреГрдд рдЖрдкрджрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдорд╛рдзрд╛рди, рд╢рд╛рдпрдж, рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рдХреЗ рд╣рдХрджрд╛рд░ рд╣реИрдВред

рдЬрд┐рдпреЛрдХреЛрдбрд┐рдВрдЧ

Fuf, рд╣рдордиреЗ рд╕рд╛рдЗрдЯ рдкрд░ OSM рдЬреЛрдбрд╝рд╛ рдФрд░ рд╢реАрд░реНрд╖ рдкрд░ рдЕрдкрдирд╛ рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╕реАрдЦрд╛ред рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, Google рдПрдкреАрдЖрдИ (рдпрд╛рдВрдбреЗрдХреНрд╕) рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ рдУрд╡рд░рдмреЛрд░реНрдб рд░рд╣рд╛ред рдЕрд░реНрдерд╛рддреН, рдЬрд┐рдпреЛрдХреЛрдбрд┐рдВрдЧ (рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдкрддреЗ рдФрд░ рдкрддреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛) рдФрд░ рдорд╛рд░реНрдЧреЛрдВ рдХреЛ рдмрд┐рдЫрд╛рдирд╛ред

рдореИрдВ рдПрдХ рдмрд╛рд░ OSM рдореЗрдВ рдорд╛рдирдЪрд┐рддреНрд░реЛрдВ рдкрд░ рд░реВрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛, рдЕрдм рдЬрд┐рдпреЛрдХреЛрдбрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрджред рдореИрдВрдиреЗ рд░рд┐рд╡рд░реНрд╕ рдЬрд┐рдпреЛрдХреЛрдбрд┐рдВрдЧ (рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдкрддрд╛) рдирд╣реАрдВ рдХрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдЕрдм рдореИрдВ рдкрддреЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЦреЛрдЬрдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реВрдВрдЧрд╛ред

рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ: рдиреЛрдорд┐рдирдЯрд┐рдо рдпрд╛ рдУрдкрдирд╕реНрдЯреНрд░реАрдЯрдореИрдк.ru рд╕реЗ рддреИрдпрд╛рд░ рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЕрдкрдиреА рдмрд╛рдЗрдХ рд▓рд┐рдЦреЗрдВред рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдЬрд┐рдпреЛрдХреЛрдбрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрджред

1. рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдХреЗрд╡рд▓ рдорд╛рд╕реНрдХреЛ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдХреНрд░рдорд╢рдГ, рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛, рдФрд░ рд╢рд╣рд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдЦреЛрдЬ рдХреНрд╡реЗрд░реА рд╕рд░рд▓ рд╣реЛрдЧреАред
2. рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдЖрдк рдХреНрд▓рд╛рдЗрдВрдЯ рдорд╢реАрдиреЛрдВ рд╕реЗ рдпрд╛ рд╕рд░реНрд╡рд░ рд╕реЗ рдмрд╛рд╣рд░реА рдХреЛ рдПрдХреНрд╕реЗрд╕ рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗред
3. рдЖрдкрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрддреЗ рдХреЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЬрд┐рдпреЛрдХреЛрдбрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЦреИрд░, рдХреЛрдИ рдЬрд╛рджреВ рдирд╣реАрдВ рд╣реИ: рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╡рд┐рдХрд▓реНрдк рд╕реЛрд▓рд░ рдпрд╛ рд╕реНрдлрд┐рдВрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВ рд╕рд┐рд░реНрдл рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ рдкреВрд░реЗ рдкрддреЗ рдХреЗ рд╕рд╛рде рд╕рд╣реЗрдЬрддрд╛ рд╣реВрдВ рдФрд░ рд╕реЛрд▓ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХрд░рддрд╛ рд╣реВрдВред

рдкрддреЗ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдк shp рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдкреЛрд╕реНрдЯрдЧрд┐рд╕ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рдкреНрд░рдкрддреНрд░ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдкрддреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:

 select bldng.osm_id, bldng."A_STRT", bldng."A_SBRB", bldng."A_HSNMBR", settle."NAME", ST_AsText(ST_Centroid(bldng.geom)) from building-polygon bldng join settlement-polygon settle on ST_Within(bldng.geom, settle.geom) 


рдЖрдЬ рдХреЗ рд▓рд┐рдП рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдЕрдЧрд▓реА рдмрд╛рд░ рдореИрдВ рдЖрдкрдХреЛ рдУрдкрдирд░реЛрдВ рдореЗрдВ рдИрд╡реЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдмрддрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

рд╕рдВрджрд░реНрдн

Openlayers рдкреНрд░рд▓реЗрдЦрди - dev.openlayers.org/docs/files/OpenLayers/Map-js.html

рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рднреА рд╣реИ - Openlayers.org/dev/examples

Proj4js - trac.osgeo.org/proj4js

рд╡рд┐рднрд┐рдиреНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕рдордиреНрд╡рдп рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдЗрдЯ,
proj4 рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ - spatialreference.org

Source: https://habr.com/ru/post/In145552/


All Articles