#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. я уже это сделал, но мне все еще не повезло