turf.js:正在执行缓冲区,但是geojson没有添加到传单地图中

时间:2018-10-03 12:58:26

标签: javascript ajax leaflet turfjs

div ID称为缓冲区。当用户单击缓冲区时,入射点将被缓冲1英里

<div id="map2" class="col-md-4 well">
    <p>GeoDjango is da bomb</p>
    <button id="Highlands" class="form-control btn-primary">Highlands</button>
    <button id="buffer" class="form-control btn-warning">Buffer</button>
</div>

javascript

var incidences = new L.GeoJSON.AJAX("http://127.0.0.1:8000/incidence_data/", {
    onEachFeature: function (feature, layer) {
        //console.log(feature.properties);
        layer.bindPopup(feature.properties.name.toString())
    }
});
incidences.addTo(map);

var incidences2 = incidences.toGeoJSON();


$("#buffer").click(function () {
    if ($("#buffer").html() == 'Buffer') {
        var buff = turf.buffer(incidences2, 1, {'units': 'miles'});
        bufferLayer = L.geoJSON(buff).addTo(map);
        $("#buffer").html("Remove Buffer");
    } else {
        map.removeLayer(bufferLayer);
        $("#buffer").html("Buffer");
    }
});

我不确定缓冲区是否正在执行,因为控制台中绝对没有任何内容。

我发现这个问题与我的问题极为相似。 https://gis.stackexchange.com/questions/285077/does-turf-js-work-with-geodjango

1 个答案:

答案 0 :(得分:1)

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:orientation="horizontal"> <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#fac"> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content"/> </FrameLayout> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="hello world"/> </LinearLayout> 仅在incidences2完全加载后创建。

首先检查一下再创建它:

incidences