2016-08-02 84 views
0

我使用javascript(OpenLayers3)在地图上添加了一些点。这些点的位置是从sql中获取的(随机生成的)。我必须为地图上的每个对象创建一个弹出式菜单。此弹出窗口包含每个选定点的数据信息,但不知道如何使用地图上的对象从sql中获取数据。Javascript从openlayers使用对象获取数据3

Points Img

How to get data ? Img

+0

当你点击点时,你的弹出窗口必须显示,对吗? –

回答

0

一种方式来做到这一点是从SQL在地图上的每个对象传递ID。您可以以这种方式添加自定义属性:

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

下一页使用click事件以获取功能和ID:

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

在这里你去!剩下的就是以id为参数向你的asp.net发出ajax请求。

另一种方法是从一开始就从地图上的sql传输所有属性,因此您不需要发出ajax请求 - 您只需从功能获取属性即可。但要小心,因为此解决方案将大大增加您的点数据。