3 votos

Mostrar coordenadas en otras proyecciones (API Javascript de ArcGIS)

¿Es posible cambiar esta muestra para que muestre las coordenadas x,y en wkid:5514 ?

<meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no">
<title>Create Map Display Mouse Coordinates</title>
<link rel="stylesheet" href="https://js.arcgis.com/3.15/esri/css/esri.css">

<script src="https://js.arcgis.com/3.15/"></script>
<script> 
  var map;
  require([
    "esri/map", "esri/geometry/webMercatorUtils", "dojo/dom", 
    "dojo/domReady!"
  ], function(
    Map, webMercatorUtils, dom
  ) {
    map = new Map("map", {
      basemap: "streets",
      center: [-47.109, 14.945],
      zoom: 2
    });
    map.on("load", function() {
      //after map loads, connect to listen to mouse move & drag events
      map.on("mouse-move", showCoordinates);
      map.on("mouse-drag", showCoordinates);
    });

    function showCoordinates(evt) {
      //the map is in web mercator but display coordinates in geographic (lat, long)
      var mp = webMercatorUtils.webMercatorToGeographic(evt.mapPoint);
      //display mouse coordinates
      dom.byId("info").innerHTML = mp.x.toFixed(3) + ", " + mp.y.toFixed(3);
    }
  });
</script>

3voto

Puede utilizar el Método de proyecto del servicio de geometría para hacer esta proyección. Al ser una llamada asíncrona, no será tan responsiva como la del ejemplo (que se calcula en el navegador). El código principal a cambiar está en showCoordinates :

Ejemplo de trabajo: https://jsfiddle.net/gavinr/f8e62ajc

Editar: John Gravois tiene un entrada del blog explicando exactamente este problema y la solución de hacer el reproyecto en el navegador usando Proj4JS. Esta es una mejor solución, ya que será rápido y sensible porque es en hacer todo en el navegador.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X