باستخدام PNG أو JPEG للخريطة مع OpenLayers (مقياس / تكبير المشكلة)

StackOverflow https://stackoverflow.com/questions/813644

  •  03-07-2019
  •  | 
  •  

سؤال

وأنا باستخدام صورة للعرض خريطتي مع OpenLayers. قانون بلدي JS يبدو مثل هذا:

map = new OpenLayers.Map('map');

var options = {numZoomLevels: 7,
                isBaseLayer: true,
                };

var globe = new OpenLayers.Layer.Image(
    'Globe ESA',
    'http://upload.wikimedia.org/wikipedia/commons/0/07/World_map_blank_black_lines_4500px.gif',
    new OpenLayers.Bounds(-180, -90, 180, 90),
    new OpenLayers.Size(4500, 2234),
    options);

map.addLayers(globe);

markers = new OpenLayers.Layer.Markers("markers");
map.addLayer(markers);

map.addControl(new OpenLayers.Control.LayerSwitcher());
map.zoomToMaxExtent();
map.addControl(new OpenLayers.Control.MousePosition());

وبلدي CSS هو:

#map {
    width: 640px;
    height: 480px;
    border: 1px solid black;
}

ولكن لا أستطيع الحصول على OpenLayers إلى تقليص الصورة الكبيرة. ومن عرضه دائما في حل كامل وأنا لا أستطيع التصغير لعرض العالم كله. مساعدة من فضلك.

هل كانت مفيدة؟

المحلول

وتحتاج إلى تعيين حجم الصورة كما يجب عرض عند التكبير بشكل كامل.

var globe = new OpenLayers.Layer.Image(
    'Globe ESA',
    'http://upload.wikimedia.org/wikipedia/commonS/0/07/World_map_blank_black_lines_4500px.gif',
    new OpenLayers.Bounds(-180, -90, 180, 90),
    new OpenLayers.Size(1125,558),
    options);

ولقد غيرت الحجم إلى ربع حجم الأصلي. هل يمكن أن تجعل هذا أصغر إذا كنت تريد أكثر من ذلك التصغير.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top