久久久久久久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中顯示),確?;瑝K在正確的順序是對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>

                          主站蜘蛛池模板: 国产欧美一区二区三区在线看 | 黄色国产视频 | 91精品国产一区二区在线观看 | 精国产品一区二区三区四季综 | 亚洲伊人久久综合 | 精品亚洲一区二区三区 | 中文字幕福利 | 精品乱码久久久久 | 精品影视| 紧缚调教一区二区三区视频 | 在线视频一区二区三区 | 成人免费毛片片v | 色小姐综合网 | 美女一级a毛片免费观看97 | 福利精品 | 日韩在线精品视频 | 欧美一区二区三区国产 | 在线观看成人小视频 | 999久久久久久久久6666 | 免费一级淫片aaa片毛片a级 | 99精品网 | 亚洲一级毛片 | 九一国产精品 | av网站在线看 | 亚洲成人综合在线 | 韩国毛片一区二区三区 | 久久国产精品久久久久久久久久 | 色婷婷综合久久久久中文一区二区 | 在线成人免费视频 | 精品国产99 | 日韩中文字幕 | 久久久av | 农村黄性色生活片 | 久久99精品国产 | 久久精品亚洲精品国产欧美kt∨ | 精品麻豆剧传媒av国产九九九 | av免费电影在线 | 亚洲一区二区在线播放 | 中文字幕av一区 | 在线色| 97伦理电影网 |