поиск данных из geoserver wms с помощью jquery mobile

#javascript #jquery-mobile #openlayers

#javascript #jquery-мобильный #openlayers

Вопрос:

Я новичок в Openlayers, и я разрабатываю приложения с использованием Openlayers и Jquery mobile, а для уровня данных я использую Geoserver WMS. Я получил приведенный ниже код из примера Jquery mobile, и мой вопрос заключается в том, как я могу изменить функцию поиска для отображения данных из Geoserver WMS.

 var selectedFeature = null;

var searchUrl ='http://ws.geonames.org/searchJSON?featureClass=Pamp;maxRows=10';
    searchUrl  = 'amp;name_startsWith='   $('#query')[0].value;
    $.getJSON(searchUrl, function(data) {
        $.each(data.geonames, function() {
            var place = this;
            $('<li>')
                .hide()
                .append($('<h2 />', {
                    text: place.name
                }))
                .append($('<p />', {
                    html: '<b>'   place.countryName   '</b> '   place.fcodeName
                }))
                .appendTo('#search_results')
                .click(function() {
                    $.mobile.changePage('#mappage');
                    var lonlat = new OpenLayers.LonLat(place.lng, place.lat);
                    map.setCenter(lonlat.transform(gg, sm), 10);
                })
        .show();
    });
 

Комментарии:

1. WMS возвращает только растровые данные, то есть изображение. Если вы ищете данные поиска, вам нужно заглянуть в WFS. WFS может быть довольно сложным, поэтому вам может быть лучше придерживаться чего-то, что возвращает JSON, как в вашем примере.

2. спасибо за ваш ответ, у вас есть какой-нибудь пример или код, на который я могу сослаться?

3. я уже создаю php-файл, как я хочу, чтобы мой php-файл взаимодействовал с этим кодом? как я должен делать?

4. Как указал Джон, WMS возвращает только растровые данные. Если вы хотите запросить данные WMS-уровня, вам нужно будет использовать GetFeatureInfo-запрос WMS. В Интернете есть примеры для OpenLayers 2 и 3. Посмотрите на это, например: ol3js.org/en/master/examples/getfeatureinfo.html

5. я уже это сделал, но мне все еще не повезло