ExtJS7.3.0GMap類工具集組件

在從現代工具包到經典工具包的重構過程中,我發(fā)現markers組件有一個問題——它們不包括在經典工具包中。

From Modern Toolkit Sencha Docs:

標記:Ext.data.Store/Object/Ext.data.Model[]/Ext.ux.google.map.Marker可綁定

可以是存儲實例、將轉換為存儲的配置對象、模型數組或單個模型(在這種情況下將創(chuàng)建存儲)。存儲區(qū)用于填充將在地圖中渲染的標記集。標記選項通過markerTemplate配置讀取。

將此組件集成到經典工具包中是真的嗎?無法從internet/文檔中找到最佳解決方案(如果是真實的)。

? 最佳回答:

在經典工具包中,addMarker方法需要一個對象。

FROM https://docs.sencha.com/extjs/7.0.0/classic/src/GMapPanel.js.html

addMarker: function(marker) {
        var o;
 
        marker = Ext.apply({
            map: this.gmap
        }, marker);
 
        if (!marker.position) {
            marker.position = new google.maps.LatLng(marker.lat, marker.lng);
        }
 
        o = new google.maps.Marker(marker);
 
        Ext.Object.each(marker.listeners, function(name, fn) {
            google.maps.event.addListener(o, name, fn);
        });
 
        return o;
    },

但您可以簡單地實現標記,這是一個特殊的記錄-但在我看來,它們不是1:1兼容的(位置與橫向lng)。

https://docs.sencha.com/extjs/6.6.0/modern/src/Marker.js.html

下面是一個經典的工具箱標記:

Ext.define('Ext.ux.google.map.Marker', {
            extend: 'Ext.data.Model',
            fields: ['lat', 'lng', 'title']
});

All together

   // define marker
        Ext.define('Ext.ux.google.map.Marker', {
            extend: 'Ext.data.Model',
            fields: ['lat', 'lng', 'title']
        });
        
        // create map
        var mapwin = Ext.create('Ext.Window', {
            layout: 'fit',
            title: 'GMap Window',
            width: 800,
            height: 600,
            items: {
                xtype: 'gmappanel',
                gmapType: 'map',
                mapOptions: {
                    center: new google.maps.LatLng(-33.712451, 150.311823),
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                }
            }
        }).show();
        
        // use marker as record
        let m = Ext.create('Ext.ux.google.map.Marker');
        m.set('lat', -33.732451);
        m.set('lng', 150.311823);
        m.set('title', 'foo bar');

        let data = m.getData();
        let {
            lat, lng, title
        } = data;

        mapwin.down('gmappanel').addMarker({
            lat, lng, title
        });
        
        // simple objects        
        mapwin.down('gmappanel').addMarker({
            lat: -33.712451,
            lng: 150.311823,
            title: 'Holmes Home'
        })

        mapwin.down('gmappanel').addMarker({
            lat: -33.722451,
            lng: 150.311823,
            title: 'Holmes Home'
        })

Fiddle https://fiddle.sencha.com/#view/editor&fiddle/3hnq

主站蜘蛛池模板: 午夜在线视频一区二区三区| 中文字幕在线播放一区| 国产一区二区在线观看视频| 日本美女一区二区三区| 99精品国产一区二区三区不卡 | 精品人无码一区二区三区| 一区二区视频在线| 久久亚洲中文字幕精品一区| 国产精品免费综合一区视频| 奇米精品一区二区三区在线观看| 国产精品成人免费一区二区| 91麻豆精品国产自产在线观看一区 | 久久伊人精品一区二区三区| 福利在线一区二区| 成人精品一区二区不卡视频| 国产韩国精品一区二区三区久久| 久久se精品一区二区国产| 精品一区二区三区四区在线| 色系一区二区三区四区五区| 99国产精品欧美一区二区三区| 亚洲色精品三区二区一区| 日本不卡在线一区二区三区视频 | 亚洲综合激情五月色一区| 无码人妻少妇色欲AV一区二区| 一区二区三区国产| 中文字幕在线观看一区二区 | 一区二区免费国产在线观看| 日本韩国一区二区三区| 另类ts人妖一区二区三区| 国产一区二区三区日韩精品| 黑巨人与欧美精品一区| 午夜爽爽性刺激一区二区视频| 日韩AV无码一区二区三区不卡毛片 | 亚洲国产精品一区第二页| 国产内射在线激情一区| 夜夜嗨AV一区二区三区| 一区二区三区四区免费视频| 国产精品制服丝袜一区| 国产精品亚洲专一区二区三区| 国精品无码一区二区三区在线蜜臀| 精品乱人伦一区二区三区|