Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将地理WGS 84转换为Web Mercator 102100_Javascript_Arcgis_Esri - Fatal编程技术网

Javascript 将地理WGS 84转换为Web Mercator 102100

Javascript 将地理WGS 84转换为Web Mercator 102100,javascript,arcgis,esri,Javascript,Arcgis,Esri,我试图将地理坐标系转换为Esri Webmercator,但当我进行转换时,得到的x和y的值分别为000000 323211222…和000000 12665321…。 这是非常奇怪的,因为这些坐标并不存在 var positions = []; positions.push(x, y); var g = new esri.geometry.Point(positions); g = esri.geometry.geographicToWebMercator(g); x = g.x; y =

我试图将地理坐标系转换为Esri Webmercator,但当我进行转换时,得到的x和y的值分别为000000 323211222…和000000 12665321…。 这是非常奇怪的,因为这些坐标并不存在

var positions = [];
positions.push(x, y);

var g = new esri.geometry.Point(positions);
g = esri.geometry.geographicToWebMercator(g);
x = g.x;
y = g.y;

实际上,您不必转换纬度/经度来向webmercator中的基础地图添加点

您可以通过几种不同的方式直接使用纬度/经度(API将在内部执行从地理位置到webmercator的转换)创建点。此版本自3.3版(2013年1月)起提供


您应该在
esri/geometry/WebMercators
模块中尝试
geographicToWebMercator
方法。请参阅详细信息

现场演示:


将地理WGS 84转换为Web Mercator 102100
html,
身体,
#地图{
身高:100%;
保证金:0;
填充:0;
}
var映射;
要求([“esri/map”、“esri/geometry/Point”、“esri/SpatialReference”、“esri/geometry/webMercatorUtils”、“dojo/domReady!”),函数(地图、点、空间引用、webMercatorUtils){
地图=新地图(“地图”{
basemap:“topo”,//有关预定义的basemap的完整列表,请导航到http://arcg.is/1JVo6Wd
中心:[-122.45,37.75],//经度,纬度
缩放:13
});
//GCS_WGS_1984中的一个点(wkid为4326)
var点=新点(-118.15,33.80,新空间参考({
西九龙总区:4326
}));
var pointWebMercator=webMercatorUtils.geographicToWebMercator(点);
警报(“102100中的点为(“+pointWebMercator.x+”,“+pointWebMercator.y+”));
});

第一个坐标看起来几乎像四叉树分解,但第二个坐标看起来不像(大于3的数字)。也许只是巧合。分配空间参考会有帮助吗?(). 对于线var g=新esri.geometry.Point…发送到位置数组的x和y值的确切输入是什么?请包括这些值的确切格式和数据类型。理想情况下,在示例中包含实际设置硬编码x和y值的代码,以便其他人可以执行问题代码。我使用的是arcgis api for javascript的AMD样式。至于遗留样式,主代码类似@帕夫洛
var point = new Point(-98, 38); // note that longitude(x) comes before the latitude(y).

// or as an array
var point = new Point([-98, 38]);

// or as an object
var point = new Point({latitude: 38, longitude: -98});
        //a point in GCS_WGS_1984(wkid is 4326)
        var point = new Point(-118.15, 33.80, new SpatialReference({
            wkid: 4326
        }));

        var pointWebMercator = webMercatorUtils.geographicToWebMercator(point);

        alert("the point in 102100 is ( " + pointWebMercator.x + "," + pointWebMercator.y + " )");