我有一个openlayers地图,有不同的图层,比如bing或openstreetmap,还有一个云层。bing和openstreetmap显示了完全相同的位置。如果我将图层切换到云层,位置会跳跃大约200米。
你有什么想法,怎么改变这一点?
var map, options;
function init(){
map = new OpenLayers.Map('map', {
controls: [
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.ScaleLine(),
new OpenLayers.Control.Attribution(),
new OpenLayers.Control.LayerSwitcher(),
new OpenLayers.Control.PanZoomBar({minZoom: 12})
],
minZoom:12,
maxZoom:19 });
var osm = new OpenLayers.Layer.OSM();
var binghybrid = new OpenLayers.Layer.Bing({
key: "MYKEY",
type: "AerialWithLabels",
name: "Satellite"});
var cloudmade = new OpenLayers.Layer.CloudMade("cloudmade", {
key: 'MYKEY',
styleId: 57439});
map.addLayers([cloudmade, binghybrid, osm]);
var epsg4326 = new OpenLayers.Projection("EPSG:4326");
var center = new OpenLayers.LonLat(14.290556,48.303056).transform(epsg4326, map.getProjectionObject());
map.setCenter(center, 14);发布于 2012-03-22 17:50:12
您应该修改original OpenLayers.Layer.CloudMade类:将OpenLayers.Layer.TMS更改为OpenLayers.Layer.XYZ。Here是工作示例。
https://stackoverflow.com/questions/9819136
复制相似问题