ich eine geoshape Abfrage haben, die auf einem lokalen ES-Instanz ausgeführt wird, die wie folgt lautet:Prospekt GeoJSON Integration Objekte in Elasticsearch Geoshape Abfrage in AngularJS
httprequest.js mit geoshape Abfrage
spatialsearch() {
var _url = 'http://127.0.0.1:9201/_search?';
var b = {
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_shape": {
"metadata.o2r.spatial.geometry": {
"shape": {
"type": "polygon",
"coordinates": [
[
[-22.0, 76.0],
[-27.0, 65.0],
[-57.0, 65.0],
[-59.0, 76.0],
[-22.0, 76.0]
]
]
},
"relation": "contains"
}
}
}
}
}
};
return $http.post(_url, b);
console.log("hello");
}
Zur Zeit habe ich die Koordinaten hart in die Abfrage kodiert, aber ich möchte in der Lage sein, die Koordinaten von Geojson-Objekten zu holen, die vom Benutzer auf der Merkblatt-Karte gezeichnet werden, und sie in das Koordinaten-Array in der obigen Funktion einzufügen. Ich bin in der Lage, die Koordinaten von Geojson-Objekten in String-Form in Dev-Konsole anzuzeigen, aber ich kann nicht herausfinden, , wie Sie sie speichern und sie in der obigen Funktion abrufen. Hier ist, wie ich Geojson mache und ihre Koordinaten in der Konsole anzeigen.
search.controller.js
leafletData.getMap().then(function(map) {
leafletData.getLayers().then(function(baselayers) {
var drawnItems = baselayers.overlays.draw;
map.on('draw:created', function (e) {
var layer = e.layer;
drawnItems.addLayer(layer);
console.log(JSON.stringify(layer.toGeoJSON()));
});
});
});