2016-08-02 4 views
0

javascript(OpenLayers3)を使用してマップ上にいくつかのポイントを追加しました。これらのポイントの位置はSQL(ランダムに生成された)からフェッチされます。マップ上の各オブジェクトについてのポップアップメニューを作成する必要があります。このポップアップには、選択した各点のデータ情報が含まれていますが、マップ上のオブジェクトを使用してSQLからデータを取得する方法はわかりません。それを行うにはJavascript openlayerでオブジェクトを使用してSQLからデータを取得する3

Points Img

How to get data ? Img

+0

ポイントをクリックするとあなたのポップアップが表示されなければなりませんか? –

答えて

0

一つの方法は、マップ内の各オブジェクトに対して、あなたのsqlからIDを転送することです。あなたはそのようにカスタムプロパティを追加することができます。map.on('click', function(evt) { var feature = map.forEachFeatureAtPixel(evt.pixel, function(feature) { return feature; }); if (feature) { alert(feature.get('id')); } });

は、ここに行く:

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

次利用clickイベントが機能してIDを取得します!残っているのは、パラメータとしてIDを持つasp.netにajaxリクエストを行うことだけです。

もう1つの方法は、最初からマップ上のsqlのすべての属性を転送することです。したがって、ajaxリクエストを行う必要はありません。フィーチャからプロパティを取得するだけです。しかし、このソリューションはあなたのポイントデータを大幅に増加させるので注意してください。

関連する問題