Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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 开放层坐标系_Javascript_Geolocation_Geocoding_Openlayers - Fatal编程技术网

Javascript 开放层坐标系

Javascript 开放层坐标系,javascript,geolocation,geocoding,openlayers,Javascript,Geolocation,Geocoding,Openlayers,我正在努力理解OpenLayers使用的坐标系 英国莱斯特大约 Latitude: 52.63973017532399 Longitude: -1.142578125 但要使用OpenLayers显示相同的位置,我必须使用: Latitude: 6915601.9146245 Longitude: -125089.1967713 e、 g: 这些显然不是经纬度坐标,我需要考虑一些转换吗 一个有效的例子是看起来我确实需要在坐标系之间映射。 这是通过transform()函数完成的,如下所示

我正在努力理解OpenLayers使用的坐标系

英国莱斯特大约

Latitude:  52.63973017532399
Longitude: -1.142578125
但要使用OpenLayers显示相同的位置,我必须使用:

Latitude:  6915601.9146245
Longitude: -125089.1967713
e、 g:

这些显然不是经纬度坐标,我需要考虑一些转换吗


一个有效的例子是

看起来我确实需要在坐标系之间映射。 这是通过
transform()
函数完成的,如下所示:

var coor_from = new OpenLayers.Projection("EPSG:4326");
var coor_to   = new OpenLayers.Projection("EPSG:900913");
var center    = new OpenLayers.LonLat(-1.142578125, 52.63973017532399);
var map       = new OpenLayers.Map("demoMap");
center.transform(coor_from, coor_to);
map.addLayer(new OpenLayers.Layer.OSM());
map.setCenter(center, 12);

现在可以做到:

var map = new OpenLayers.Map("demoMap");
var p = map.getView().getProjection();
var cord = ol.proj.fromLonLat([longitude, latitude], p);
var map = new OpenLayers.Map("demoMap");
var p = map.getView().getProjection();
var cord = ol.proj.fromLonLat([longitude, latitude], p);