У меня есть таблицы в базе данных postgresql и имя базы данных BMC, и она состоит из 50 таблиц. Я отображаю карту в html-файле, используя openlayers3, а сервер приложений — геосервер. поэтому, пожалуйста, помогите мне отобразить данные из базы данных в виде таблицы и выполнить поисковый запрос на карте, чтобы получить их точное местоположение.
var Source_TANK =
new ol.source.TileWMS({
url: 'http://localhost:8080/geoserver/BMC/wms?',
params: {
'LAYERS': 'BMC:water_tank',
'VERSION': '1.1.0',
'FORMAT': 'image/png',
'TILED': true
},
id:"water_tank",
serverType:'geoserver'
});
var Layer_TANK = new ol.layer.Tile({
source: Source_TANK,
});
<asp:ListItem Text="Water Tank" Value="49" />
</asp:DropDownList>
<asp:DropDownList ID="DropDownListSearchBy" runat="server" style="width:80%;margin-bottom:4px; margin-left:10px;margin-top:3px;">
<asp:ListItem Text="Water Tank" Value="0" />
</asp:DropDownList>
<asp:TextBox ID="TextBoxSearch" placeholder="Search for Place, Property etc." style="width:80%;margin:20px;margin-left:10px;margin-top:3px;" runat="server"></asp:TextBox><br>
<button id="btn_search" type="button" title="Search" style="width:auto;height:auto; background-color:#3c8dbc;border-color:transparent;margin-left:10px;font-style:normal; font-color:#f9f9f9; font-family: sans-serif; color: #FFFFFF;margin-bottom:10px;">Search
<img src="img/search.png">
</button>
<button id="btn_clear" type="button" title="Clear" style="width:auto;height:auto;background-color:#3c8dbc;border-color:transparent;margin-left:10px;font-style:normal; font-color:#f9f9f9; font-family: sans-serif; color: #FFFFFF;margin-bottom:10px;">Clear
<img src="img/refresh2.png">
</button>
</form>
Для отображения данных в табличном формате используйте Сервис WFS GetFeature запрос от геосервера. Есть много доступных форматов вывода, таких как GeoJSON, KML, CSV.
Лично я выбираю GeoJSON, так как объект JSON может быть легко обработан.
Перейдите по ссылке ниже для более
http://docs.geoserver.org/latest/en/user/services/wfs/reference.html
Пример WFS URL
Замечания : этот запрос извлечет все записи в этом слое, поэтому ответ может занять время в зависимости от количества записей в таблице.
Других решений пока нет …