Мне удалось включить мою базовую карту WMS и слой geo JSON в мой листовой клиент, но он очень медленный ... Я думаю, потому что в Json FeatureCollection содержится более 500 объектов? Теперь я хочу скрыть все свои маркеры, и когда я щелкаю где-нибудь на карте, я хочу, чтобы ближайший маркер отображался со своими свойствами. Кто-нибудь, у кого есть решение для этого?
Мой JavaScript код в моем html выглядит так:
<script>
var mymap = L.map('mapid').setView([51.28, 7.33], 8);
var nrwTopo = L.tileLayer.wms('http://ows.mundialis.de/services/service?', {
layers: 'OSM-WMS',
format: 'image/png',
transparent: true
}).addTo(mymap);
var geojsonLayer = new L.GeoJSON();
function handleJson(data) {
console.log(data)
geojsonLayer.addData(data);
}
var hospitals = $.ajax({
url: "http://localhost:8080/geoserver/ows?service=wfs&version=1.0.0&request=GetFeature&typeName=Assignment11:krankenhaeuser&outputFormat=JSON&srsName=EPSG:4326",
dataType: 'json',
success: handleJson
});
mymap.addLayer(geojsonLayer);
</script>
И пример моей FeatureCollection:
{"type":"FeatureCollection","features":[{"type":"Feature","id":"krankenhaeuser.1","geometry":{"type":"Point","coordinates":[347867,5678190]},"geometry_name":"the_geom","properties":{"KH_ID":"1110100","KH_BEZ":"","KH_TELEFON":"","KH_URL":"","KH_ART":"","TRAEGER":"","RECHTSFOR":"","BS_BEZ":"Luisenkrankenhaus GmbH & Co.KG","PLZ":"40235","ADRESSE":"Luise-Rainer-Str. 6-10","ORT":"Düsseldorf","DISZIPLIN":"","BETTENZAHL":""}},{"type":"Feature","id":"krankenhaeuser.2","geometry":{"type":"Point","coordinates":[345513,5674250]},"geometry_name":"the_geom","properties":{"KH_ID":"1110101","KH_BEZ":"Universitätsklinikum Düsseldorf","KH_TELEFON":"0211/81-00","KH_URL":"http://www.uniklinik-duesseldorf.de","KH_ART":"Universitätskrankenhaus","TRAEGER":"Universitätsklinikum Düsseldorf","RECHTSFOR":"Anstalt der öffentlichen Rechts","BS_BEZ":"Universitätsklinikum","PLZ":"40225","ADRESSE":"Moorenstr. 5","ORT":"Düsseldorf","DISZIPLIN":"Augenheilkunde (32),Chirurgie (314),Frauenheilkunde und Geburtshilfe (75),Geriatrie (30),Hals-Nasen-Ohrenheilkunde (33),Haut-Geschlechtskrankheiten (64),Herzchirurgie (84),Innere Medizin (383),Kinder- und Jugendmedizin (116),MKG-Chirurgie (32),Neurochiru","BETTENZAHL":"1387"}},{"type":"Feature","id":"krankenhaeuser.3","geometry":{"type":"Point","coordinates":[316676,5642168]},"geometry_name":"the_geom","properties":{"KH_ID":"1110101","KH_BEZ":"Universitätsklinikum Düsseldorf","KH_TELEFON":"0211/81-00","KH_URL":"http://www.uniklinik-duesseldorf.de","KH_ART":"Universitätskrankenhaus","TRAEGER":"Universitätsklinikum Düsseldorf","RECHTSFOR":"Anstalt der öffentlichen Rechts","BS_BEZ":"Nuklearmedizinische Klinik/Mediz.Einr.d.Uni Düsseldorf","PLZ":"52428","ADRESSE":"Leo-Brand-Str.","ORT":"Jülich","DISZIPLIN":"Augenheilkunde (32),Chirurgie (314),Frauenheilkunde und Geburtshilfe (75),Geriatrie (30),Hals-Nasen-Ohrenheilkunde (33),Haut-Geschlechtskrankheiten (64),Herzchirurgie (84),Innere Medizin (383),Kinder- und Jugendmedizin (116),MKG-Chirurgie (32),Neurochiru","BETTENZAHL":"1387"}},{"type":"Feature","id":"krankenhaeuser.4","geometry":{"type":"Point","coordinates":[350273,5679026]},"geometry_name":"the_geom","properties":{"KH_ID":"1110102","KH_BEZ":"Sana Kliniken Düsseldorf GmbH","KH_TELEFON":"02112800-01","KH_URL":"http://www.sana-duesseldorf.de/","KH_ART":"Allgemeinkrankenhaus","TRAEGER":"Sana Kliniken Düsseldorf GmbH","RECHTSFOR":"Gesellschaft mit beschränkter Haftung","BS_BEZ":"Krankenhaus Gerresheim","PLZ":"40625","ADRESSE":"Gräulinger Str. 120","ORT":"Düsseldorf","DISZIPLIN":"Chirurgie (192),Frauenheilkunde und Geburtshilfe (58),Hals-Nasen-Ohrenheilkunde (5),Innere Medizin (225),Kinder- und Jugendmedizin (10)","BETTENZAHL":"490"}}
А как я могу сохранить гео Json как объект? Когда я пытаюсь показать его в консоли, он говорит «undefined» для console.log(hospitals.features)
?