久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

      <i id='AhEOw'><tr id='AhEOw'><dt id='AhEOw'><q id='AhEOw'><span id='AhEOw'><b id='AhEOw'><form id='AhEOw'><ins id='AhEOw'></ins><ul id='AhEOw'></ul><sub id='AhEOw'></sub></form><legend id='AhEOw'></legend><bdo id='AhEOw'><pre id='AhEOw'><center id='AhEOw'></center></pre></bdo></b><th id='AhEOw'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='AhEOw'><tfoot id='AhEOw'></tfoot><dl id='AhEOw'><fieldset id='AhEOw'></fieldset></dl></div>

      <tfoot id='AhEOw'></tfoot>
    1. <small id='AhEOw'></small><noframes id='AhEOw'>

    2. <legend id='AhEOw'><style id='AhEOw'><dir id='AhEOw'><q id='AhEOw'></q></dir></style></legend>
      • <bdo id='AhEOw'></bdo><ul id='AhEOw'></ul>

      TimeSlider 插件和傳單 - 標記未按順序顯示

      TimeSlider Plugin and Leaflet - Markers not appearing in order(TimeSlider 插件和傳單 - 標記未按順序顯示)
    3. <legend id='gGPhn'><style id='gGPhn'><dir id='gGPhn'><q id='gGPhn'></q></dir></style></legend><tfoot id='gGPhn'></tfoot>
        <tbody id='gGPhn'></tbody>
    4. <small id='gGPhn'></small><noframes id='gGPhn'>

            <bdo id='gGPhn'></bdo><ul id='gGPhn'></ul>

                <i id='gGPhn'><tr id='gGPhn'><dt id='gGPhn'><q id='gGPhn'><span id='gGPhn'><b id='gGPhn'><form id='gGPhn'><ins id='gGPhn'></ins><ul id='gGPhn'></ul><sub id='gGPhn'></sub></form><legend id='gGPhn'></legend><bdo id='gGPhn'><pre id='gGPhn'><center id='gGPhn'></center></pre></bdo></b><th id='gGPhn'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='gGPhn'><tfoot id='gGPhn'></tfoot><dl id='gGPhn'><fieldset id='gGPhn'></fieldset></dl></div>
                本文介紹了TimeSlider 插件和傳單 - 標記未按順序顯示的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                問題描述

                更新了 JSFIDDLE 鏈接

                我正在使用 LeafletJS 構建一個帶有時間軸滑塊的 web 地圖.我正在使用 LeafletSlider 插件 來顯示一組基于名為 DATE_START<的 GEOJSON 屬性的標記/代碼>.這是我的數據對象的示例:

                var camps = {"type": "FeatureCollection",特征": [{類型":特征",特性": {狀態":無人居住","DATE_START": "2015-06-23",DATE_CLOSED":2016-01-23"},幾何學": {類型":點",坐標":[64.6875, 34.97600151317591]}}, {類型":特征",特性": {狀態":占用","DATE_START": "2014-01-21",DATE_CLOSED":2015-05-25"},幾何學": {類型":點",坐標":[65.335693359375, 36.26199220445664]}}, {類型":特征",特性": {狀態":無人居住","DATE_START": "2015-09-13",DATE_CLOSED":"},幾何學": {類型":點",坐標":[67.587890625, 35.969115075774845]}}]};

                我的代碼示例:

                //創建標記層(在示例中通過 GeoJSON FeatureCollection 完成)var testlayer = L.geoJson(營地,{onEachFeature:函數(特征,層){layer.bindPopup(feature.properties.DATE_START);}});var sliderControl = L.control.sliderControl({位置:右上角",層:測試層,時間屬性:'DATE_START'});//確保將滑塊添加到地圖;-)map.addControl(sliderControl);//并初始化滑塊滑塊控制.startSlider();

                我已將時間滑塊插件添加到我的地圖中,盡管它正在運行,但我似乎無法讓滑塊按時間順序顯示標記.例如,具有 2014-01-21DATE_START 值的標記顯示在第二位,而實際上它應該首先顯示,因為它是具有最早日期的標記.

                如何讓我的時間滑塊/標記以正確的順序從最早到最晚出現?謝謝.

                解決方案

                正如 ghybs 在下面提到的(并在an example中顯示),確保滑塊在正確的順序是對sliderControl的options.markers數組進行排序:

                sliderControl.options.markers.sort(function(a, b) {返回(a.feature.properties.DATE_START > b.feature.properties.DATE_START);});

                我的原始答案(如下)對 GeoJSON 的功能進行了排序,但這并不能保證 Leaflet 會以正確的順序返回它們.

                <小時>

                原答案:

                您可以使用 array.sort 方法 對 features 數組進行排序:

                camps.features.sort(function(a, b) {返回(a.properties.DATE_START > b.properties.DATE_START);});

                http://jsfiddle.net/nathansnider/ngeLm8c0/4/p>

                Updated with a JSFIDDLE link

                I am using LeafletJS to build a web map with a timeline slider. I am using the LeafletSlider plugin to show a group of markers based on a GEOJSON property named DATE_START. Here's an example of what my data object looks like:

                var camps = {
                    "type": "FeatureCollection",
                    "features": [{
                        "type": "Feature",
                        "properties": {
                            "STATUS": "UNOCCUPIED",
                            "DATE_START": "2015-06-23",
                            "DATE_CLOSED": "2016-01-23"
                        },
                        "geometry": {
                            "type": "Point",
                            "coordinates": [64.6875, 34.97600151317591]
                        }
                    }, {
                        "type": "Feature",
                        "properties": {
                            "STATUS": "OCCUPIED",
                            "DATE_START": "2014-01-21",
                            "DATE_CLOSED": "2015-05-25"
                        },
                        "geometry": {
                            "type": "Point",
                            "coordinates": [65.335693359375, 36.26199220445664]
                        }
                    }, {
                        "type": "Feature",
                        "properties": {
                            "STATUS": "UNOCCUPIED",
                            "DATE_START": "2015-09-13",
                            "DATE_CLOSED": ""
                        },
                        "geometry": {
                            "type": "Point",
                            "coordinates": [67.587890625, 35.969115075774845]
                        }
                    }]
                };
                

                An example of my code:

                //Create a marker layer (in the example done via a GeoJSON FeatureCollection)
                var testlayer = L.geoJson(camps, {
                    onEachFeature: function(feature, layer) {
                        layer.bindPopup(feature.properties.DATE_START);
                    }
                });
                
                var sliderControl = L.control.sliderControl({
                    position: "topright",
                    layer: testlayer,
                    timeAttribute: 'DATE_START'
                });
                
                //Make sure to add the slider to the map ;-)
                map.addControl(sliderControl);
                
                //And initialize the slider
                sliderControl.startSlider();
                

                I've added the timeslider plugin to my map, and although it's functioning, I can't seem to get the slider to show the markers in a temporal order. For example, the marker with the DATE_START value of 2014-01-21 is shown second when in fact it should be shown first because it's the marker with the earliest date.

                How can I get my timeslider/markers to appear in the correct order from earliest to latest? Thanks.

                解決方案

                EDIT:

                As ghybs mentions below (and shows in an example), the proper way to ensure that the slider returns data in the correct order is to sort the options.markers array of the sliderControl:

                sliderControl.options.markers.sort(function(a, b) {
                    return (a.feature.properties.DATE_START > b.feature.properties.DATE_START);
                });
                

                My original answer (below) sorts the features of the GeoJSON, but this does not guarantee that Leaflet will return them in the correct order.


                Original answer:

                You can use the array.sort method to sort the features array in place:

                camps.features.sort(function(a, b) {
                  return (a.properties.DATE_START > b.properties.DATE_START);
                });
                

                http://jsfiddle.net/nathansnider/ngeLm8c0/4/

                這篇關于TimeSlider 插件和傳單 - 標記未按順序顯示的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                相關文檔推薦

                Check if a polygon point is inside another in leaflet(檢查一個多邊形點是否在傳單中的另一個內部)
                Changing leaflet markercluster icon color, inheriting the rest of the default CSS properties(更改傳單標記群集圖標顏色,繼承其余默認 CSS 屬性)
                Trigger click on leaflet marker(觸發點擊傳單標記)
                How can I change the default loading tile color in LeafletJS?(如何更改 LeafletJS 中的默認加載磁貼顏色?)
                Add external geojson to leaflet layer(將外部geojson添加到傳單層)
                Adding Leaflet layer control to sidebar(將 Leaflet 圖層控件添加到側邊欄)
                • <i id='a6gAt'><tr id='a6gAt'><dt id='a6gAt'><q id='a6gAt'><span id='a6gAt'><b id='a6gAt'><form id='a6gAt'><ins id='a6gAt'></ins><ul id='a6gAt'></ul><sub id='a6gAt'></sub></form><legend id='a6gAt'></legend><bdo id='a6gAt'><pre id='a6gAt'><center id='a6gAt'></center></pre></bdo></b><th id='a6gAt'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='a6gAt'><tfoot id='a6gAt'></tfoot><dl id='a6gAt'><fieldset id='a6gAt'></fieldset></dl></div>
                • <legend id='a6gAt'><style id='a6gAt'><dir id='a6gAt'><q id='a6gAt'></q></dir></style></legend>

                  <small id='a6gAt'></small><noframes id='a6gAt'>

                  <tfoot id='a6gAt'></tfoot>
                        <tbody id='a6gAt'></tbody>
                        <bdo id='a6gAt'></bdo><ul id='a6gAt'></ul>

                          主站蜘蛛池模板: www.亚洲一区 | 亚洲国产成人在线视频 | 欧美精品成人影院 | 欧美激情久久久久久 | 国产精品视屏 | 成人午夜网站 | 91成人在线视频 | 久艹av| 美女黄频 | 国产日韩精品一区 | 国产伦精品一区二区三区四区视频 | 亚洲国产精品网站 | 久操亚洲 | 热久久久 | 波多野吉衣久久 | 欧美亚洲国产一区二区三区 | 国产高清精品在线 | 国产精品视频中文字幕 | 亚洲成人精品 | 中文字幕日韩欧美 | 99热播精品 | 性色av一区二区三区 | 亚洲一级淫片 | 久久在线视频 | 在线视频99 | 综合国产在线 | 黄色毛片视频 | www.国产一区 | 成人久久久 | 国产成人网| 一区视频 | 成人福利影院 | 久久99精品久久久久久国产越南 | 国产精品123区 | 亚洲欧美综合 | 美女视频久久 | 日韩中文字幕在线观看 | 99re国产视频 | 日本三级做a全过程在线观看 | www.色五月.com | 国产色 |