2016-08-02 27 views
0

Ich habe einige Punkte auf der Karte mit Javascript (OpenLayers3). Die Positionen dieser Punkte werden von sql abgerufen (zufällig generiert). Ich muss ein Popup-Menü für jedes Objekt auf der Karte erstellen. Dieses Pop-up enthält die Dateninformation jedes ausgewählten Punktes, aber ich weiß nicht, wie man die Daten von sql mit dem Objekt auf der Karte bekommt.Javascript erhalten Daten von SQL mit Objekt mit openlayers 3

Points Img

How to get data ? Img

+0

Ihr Pop-up muss angezeigt werden, wenn Sie auf den Punkt klicken, richtig? –

Antwort

0

Eine Möglichkeit, es zu tun ID von Ihrem SQL für jedes Objekt in der Karte zu übertragen ist.

var pointFeature = new ol.Feature({ geometry: new ol.geom.Point([0, 0]), id: 25 });

Next Verwendung click Ereignis zu bekommen Funktion und ID:

map.on('click', function(evt) { var feature = map.forEachFeatureAtPixel(evt.pixel, function(feature) { return feature; }); if (feature) { alert(feature.get('id')); } });

Hier gehen Sie Sie können benutzerdefinierte Eigenschaft auf diese Weise hinzuzufügen! Alles, was bleibt, ist eine AJAX-Anfrage an Ihr ASP.net mit ID als Parameter.

Eine andere Möglichkeit besteht darin, ALLE Attribute von Ihrem sql on map von Anfang an zu übertragen, so dass Sie keine AJAX-Anforderung stellen müssen - Sie könnten nur Eigenschaften aus dem Feature abrufen. Aber seien Sie vorsichtig, da diese Lösung Ihre Punktdaten stark erhöht.