ডিবি ভিউ / সারণী খালি হলে কীভাবে গোলাপী টাইলস এড়ানো যায়?


10

আমার কাছে এমন মতামত রয়েছে যা স্থানীয়ভাবে এই অর্থে যে তারা অন্য টেবিল থেকে কিছু স্থানিক কলাম নির্বাচন করে। এই টেবিলটি জিওসিভার ব্যবহার করে প্রকাশিত হয়েছে। এই টেবিলটি লাইভ এবং কোনও সময় কোনও ডেটা নেই। যখন টেবিলটিতে কোনও ডেটা থাকে না তখন wms প্রদর্শিত হয় redএবং ফায়ারব্যাগ কনসোলে ত্রুটি হয়: এখানে চিত্র বর্ণনা লিখুন

ডাব্লুএমএস ফিরে এসেছে:

>  <?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE
> ServiceExceptionReport SYSTEM
> "http://192.168.70.65:80/geoserver/schemas/wms/1.1.1/WMS_exception_1_1_1.dtd"> <ServiceExceptionReport version="1.1.1" >   <ServiceException>
>           java.lang.NullPointerException
>     null
>     </ServiceException></ServiceExceptionReport>

কোড:

function init(){    
            OpenLayers.IMAGE_RELOAD_ATTEMPTS = 1;
                OpenLayers.Util.onImageLoadErrorColor = "transparent";    

                map = new OpenLayers.Map('map', {   
                    projection: new OpenLayers.Projection("EPSG:900913"),
                    displayProjection: new OpenLayers.Projection("EPSG:4326"),
                    numZoomLevels: 21,
                    maxExtent: new OpenLayers.Bounds(-20037508, -20037508,20037508, 20037508.34),   
                    controls: [
                        new OpenLayers.Control.Navigation(),
                        new OpenLayers.Control.PanZoomBar(),
                        new OpenLayers.Control.LayerSwitcher({'ascending':false}),                       
                        new OpenLayers.Control.ScaleLine(),
                        new OpenLayers.Control.MousePosition(),
                        new OpenLayers.Control.OverviewMap(),
                        new OpenLayers.Control.KeyboardDefaults()
                    ]   


                });

জিওএক্সেক্সট ব্যবহার:

<script src="http://localhost/geoserver/www/ext/adapter/ext/ext-base.js" type="text/javascript"></script>
        <script src="http://localhost/geoserver/www/ext/ext-all.js"  type="text/javascript"></script>
        <link rel="stylesheet" type="text/css" href="http://localhost/geoserver/www/ext/resources/css/ext-all.css"/>

        <link rel="stylesheet" href="http://localhost/geoserver/www/openLayers/theme/default/style.css" type="text/css" />
        <script src="http://localhost/geoserver/www/openLayers/OpenLayers.js" type="text/javascript"></script>

        <script src="http://localhost/geoserver/www/geoext/lib/GeoExt.js" type="text/javascript"></script>        
        <link rel="stylesheet" type="text/css" href="http://localhost/geoserver/www/geoext/resources/css/geoext-all.css"/>


        <script>

            OpenLayers.Util.onImageLoadErrorColor = 1;
            OpenLayers.Util.onImageLoadErrorColor = "transparent";          

            Ext.BLANK_IMAGE_URL = "http://localhost/geoserver/www/ext/resources/images/default/s.gif";
            var app, items = [], controls = [];
            var lon = 85.344;
            var lat = 27.7;
            var zoom = 12;
            var url = "http://localhost/geoserver/wms";



            Ext.onReady(function() {            
                app = new Ext.Viewport({
                    layout: "border",
                    items: items
                });     

আপনার প্রশ্ন কি?
underdark

@ আওয়ার্ডার্ক যখন ভিউতে কোনও তথ্য নেই অর্থাৎ ছবিতে যেমন স্তর দেখানো হয়েছে তেমন সারি নেই
কিনকাজউ

... এবং আপনি জানতে চান কীভাবে লাল টাইলস থেকে মুক্তি পাবেন?
underdark

@unddark হ্যাঁ করার উপায় আছে
কিঙ্কাজউ

উত্তর:


5

আপনি কি চিত্র ত্রুটিতে কিছু ডিফল্ট চিত্র যুক্ত করার জন্য এটি চেষ্টা করেছিলেন:

OpenLayers.Util.onImageLoadError = function(){
     this.src = "images/blank.png";
};

দুর্দান্ত সমাধান আমার জন্য কাজ করেছে।
কিনকাজৌ

23

ওপেনলায়ার্সের নতুন সংস্করণ (২.১১ পোস্টের) এর জন্য সিএসএস ক্লাস ব্যবহার করা উচিত।

.olImageLoadError { 
    /* when OL encounters a 404, don't display the pink image */
    display: none !important;
} 

1
স্টাইল। CSS থেকে: .olImageLoadError {পটভূমি-রঙ: গোলাপী; অস্বচ্ছতা: 0.5 ফিল্টার: আলফা (অস্বচ্ছতা = 50); / * আইই * /}
ca0v

5

ওপেনলায়ার্সগুলিতে নিম্নলিখিত পরামিতিগুলি সেট করুন:

// Avoid pink error tiles
OpenLayers.IMAGE_RELOAD_ATTEMPTS = 3;
OpenLayers.Util.onImageLoadErrorColor = "transparent";

রেফারেন্স ডকুমেন্ট / টিউটোরিয়াল:

http://workshops.opengeo.org/stack-intro/openlayers.html

দয়া করে নোট করুন যে 3 টি পুনরায় লোডের চেষ্টা আইএমএইচও-র জন্য খুব উচ্চ-সহনশীলতার মান এবং মাত্র 1 এ নামানো যেতে পারে।


আমি এই প্যারামিটারগুলি যুক্ত করেছি তবে এখনও একই ত্রুটিটি আমি কোড যুক্ত করেছি
কিনকাজউ

কোনও ওপেনলায়ার অবজেক্ট তৈরি হওয়ার আগে আপনাকে অবশ্যই প্যারামগুলি সেট করতে হবে।
unicoletti

এই পরিবর্তনগুলি জিওেক্সট ব্যবহার করে উপরে আমার সম্পাদনা প্রদর্শন হিসাবে ঘোষিত হয়েছিল কিন্তু এখনও এটি কার্যকর হয় না। এটি কেবল তখনই কাজ করে যখন আমি কেবল ওপেনলেয়ারগুলিকে আমার সূচনাতে কোনও সমস্যা ব্যবহার করব?
কিনকাজৌ

আপনি ব্যাখ্যা করতে পারতেন যে আপনি শুরু থেকেই জিওেক্সট ব্যবহার করছিলেন। এটি
প্রায়শই জিজ্ঞাসিত প্রশ্নাবলীতে রয়েছে

আমার খারাপ :( ভাল আমার কিছু পৃষ্ঠাগুলি কেবল খোলা স্তর ব্যবহার করে এবং অন্যরা জিওেক্সট + ওপেনলেয়ারগুলি কেবল ওপেন স্তরটি ব্যবহার করে এটি চেষ্টা করে তবে অন্যের সাথে আটকে যায়
কিনকাজউ

3

এটি আমার জন্য ওপেনলায়ার্স ভি 2.13.1 এর জন্য কাজ করেছে

.olTileImage.olImageLoadError {
    display: none !important;
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.