【问题标题】:Javascript get data from sql using object with openlayers 3Javascript使用带有openlayers 3的对象从sql获取数据
【发布时间】:2016-12-07 20:16:28
【问题描述】:

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

Points Img

How to get data ? Img

【问题讨论】:

  • 当你点击那个点时,你的弹出窗口必须显示,对吧?

标签: javascript asp.net sql-server web openlayers-3


【解决方案1】:

一种方法是从您的 sql 中为 map 中的每个对象传输 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 转移到 map 上,这样你就不需要发出 ajax 请求——你可以从 feature.properties 中获取属性。但要小心,因为这种解决方案会大大增加您的点数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    • 2018-07-19
    • 2020-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多