slevinkelevra Δημοσ. 14 Φεβρουαρίου 2014 Δημοσ. 14 Φεβρουαρίου 2014 (επεξεργασμένο) Καλησπέρα Εχω τον παρακάτω κώδικα σε openlayers 2.13 var filter_c = new OpenLayers.Filter.Comparison({ type: OpenLayers.Filter.Comparison.LIKE, property: 'strToLowerCase(p_name)', value: '%'+String(document.getElementById("nm").value).toLowerCase()+'%' }); //pass the filter to the layer var prot = new OpenLayers.Protocol.WFS({ url: "/geoserver/wfs", featureType: "pins", featureNS: "http://www.mysite.gr", defaultFilter: filter_c }); var _CallBack = function(resp) { pins.addFeatures(resp.features) var cb = pins.features.length; if (cb == 0){alert("Nothing Found");} }; var response = prot.read({callback: _CallBack}); //refresh to render POIs pins.refresh({force:true}); Είναι φίλτρο για αναζήτηση λέξεων σε vector layer. Επειδή σε Openlayers δεν υπαρχει κατι σα το ilike της postgre για να γινει αυτόματα case insensitive, χρησιμοποιω το κολπακι να βαζω παντου strToLowerCase όπως έχω δει και αλλου, το οποίο υποτίθεται ότι πρεπει να δουλεψει. Όταν κανω αναζητηση ο χαρτης ζουμαρει στο κεντρο, δεν εχει σημεια και γινετε alert το "Nothing Found" .Οποτε το φιλτρο μισο-δουλευει. Τι γινετε? Πως μπορω να το τσεκαρω/διορθωσω? Εχω επισης geoserver 2.1.3 postgreSQL 9.1 postGIS 2.0. Οι λέξεις είναι στα ελληνικά, στη βαση και στον geoserver είναι UTF8. Το layer το οριζω ετσι pins = new OpenLayers.Layer.Vector("LayerTitle", {renderers: ["Canvas", "SVG", "VML"]}) Ευχαριστώ Επεξ/σία 15 Φεβρουαρίου 2014 από slevinkelevra
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα