<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <!--The viewport meta tag is used to improve the presentation and behavior of the samples on iOS devices--> <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"> <title>Project a point</title> <link rel="stylesheet" href="http://js.arcgis.com/3.7/js/dojo/dijit/themes/claro/claro.css"> <link rel="stylesheet" href="http://js.arcgis.com/3.7/js/esri/css/esri.css"> <style> .esriPopup .contentPane span { display: inline-block; padding: 0 0 0.2em 0; width: 6em; } </style> <script src="http://js.arcgis.com/3.7/"></script> <script> var map, gsvc, pt; require([ "esri/map", "esri/graphic", "esri/symbols/SimpleMarkerSymbol", "esri/tasks/GeometryService", "esri/tasks/ProjectParameters", "esri/SpatialReference", "esri/InfoTemplate", "dojo/dom", "dojo/on", "dojo/domReady!" ], function( Map, Graphic, SimpleMarkerSymbol, GeometryService, ProjectParameters, SpatialReference, InfoTemplate, dom, on ) { map = new Map("map", { basemap: "streets", center: [-98.445, 46.147], zoom: 3 }); gsvc = new GeometryService("http://tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer"); map.on("click", projectToWebMercator); function projectToWebMercator(evt) { map.graphics.clear(); var point = evt.mapPoint; var symbol = new SimpleMarkerSymbol().setStyle("diamond"); var graphic = new Graphic(point, symbol); var outSR = new SpatialReference(102100); map.graphics.add(graphic); gsvc.project([ point ], outSR, function(projectedPoints) { pt = projectedPoints[0]; graphic.setInfoTemplate(new InfoTemplate("Coordinates", "<span>X:</span>" + pt.x.toFixed() + "<br>" + "<span>Y:</span>" + pt.y.toFixed() + "<br>" + "<input type='button' value='Convert back to LatLong' id='convert'>" + "<div id='latlong'></div>"+ "<input type='button' value='Convert to RT90' id='convertRT'>" + "<div id='rt90'></div>")); map.infoWindow.setTitle(graphic.getTitle()); map.infoWindow.setContent(graphic.getContent()) map.infoWindow.show(evt.screenPoint, map.getInfoWindowAnchor(evt.screenPoint)); on.once(dom.byId("convert"), "click", projectToLatLong); on.once(dom.byId("convertRT"), "click", projectToRT90); }); } function projectToLatLong() { var outSR = new SpatialReference(4326); var params = new ProjectParameters(); params.geometries = [pt]; params.outSR = outSR; gsvc.project(params, function(projectedPoints) { pt = projectedPoints[0]; dom.byId("latlong").innerHTML = "<span>Latitude: </span> " + pt.y.toFixed(3) + "<br><span>Longitude:</span>" + pt.x.toFixed(3); }); } function projectToRT90() { var outSR = new SpatialReference(3021); var params = new ProjectParameters(); params.geometries = [pt]; params.outSR = outSR; gsvc.project(params, function(projectedPoints) { pt = projectedPoints[0]; dom.byId("rt90").innerHTML = "<span>X: </span> " + pt.y.toFixed(3) + "<br><span>Y:</span>" + pt.x.toFixed(3); }); } }); </script> </head> <body class="claro"> <b>Click a location on the map to Project from LatLng -> Web Mercator:</b> <div id="map" style="width:600px; height:400px; border:1px solid #000;"></div> </body> </html>
Přihlášení členové mohou přispívat, sledovat aktualizace a další. Jste tu noví? Zaregistrujte si bezplatný účet.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.