Cra*_*2uk 8 javascript geocoding geolocation openlayers
我很难理解OpenLayers使用的坐标系.
英国莱斯特大约是.
Latitude: 52.63973017532399
Longitude: -1.142578125
Run Code Online (Sandbox Code Playgroud)
但是要使用OpenLayers显示相同的位置,我必须使用:
Latitude: 6915601.9146245
Longitude: -125089.1967713
Run Code Online (Sandbox Code Playgroud)
例如:
var center = new OpenLayers.LonLat(-125089.1967713, 6915601.9146245);
var map = new OpenLayers.Map("demoMap");
map.addLayer(new OpenLayers.Layer.OSM());
map.setCenter(center, 12);
Run Code Online (Sandbox Code Playgroud)
这些显然不是Latitude-Longitude坐标,我需要考虑一些转换吗?
一个有效的例子是http://craig-russell.co.uk/demos/openlayers/so_map.html
看起来我确实需要在坐标系之间进行映射.这是通过如下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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4642 次 |
| 最近记录: |