簡體   English   中英

Sencha Map上的Sencha Touch 2多個經度和緯度

[英]Sencha Touch 2 Multiple Latitude and Longitude on Sencha Map

我正在構建一個包含地址列表的應用程序。 這個應用程序的工作方式是,一旦用戶單擊列表中的每個項目(地址),下一頁就會顯示一張地圖,並且該地圖上有一個標記,指向所點擊地址的確切位置。 由於代碼中指定了緯度和經度坐標,因此可以做到這一點。 我的問題是我有多個地址,並且每個地址都有唯一的經度和緯度。 我想以一種方式使我的應用程序正常工作,即當用戶單擊他們感興趣的任何地址時,該應用程序將打開一個頁面並顯示地圖,並顯示指向該地址在地圖上確切位置的標記。 我的代碼如下:它工作正常,但是當用戶單擊該地址時,會將其帶到相同的緯度和緯度。

我的商店:

Ext.define('List.store.Presidents', {
extend : 'Ext.data.Store',

config : {
    model : 'List.model.President',
    sorters : 'lastName',
    grouper : function(record) {
        return record.get('lastName')[0];
    },

    data : [{

        firstName : "Ikhlas HQ",
        lastName : "Tower 11A, Avenue 5, Bangsar South, No.8 Jalan Kerinchi 59200 Kuala Lumpur",
        latitude : 3.110649,
        longitude : 101.664991,
        id: 'm12',
    },
    {
        firstName : "PEJABAT WILAYAH SELANGOR",
        lastName : "No. 97, 97-1 & 97-2, Jalan Mahogani 5/KS7, Ambang Botanic, 41200 Klang,   Selangor",
        latitude : 3.003384,
        longitude : 101.45256,
        id: 'm1',
    }, ]

}
});

我的控制器:

Ext.define('List.controller.Main', {
extend: 'Ext.app.Controller',

config: {

    control: {
        'presidentlist': {
            disclose: 'showDetail'
        },
     }
 },
showDetail: function(list, record) {
            this.getMain().push({
                xtype: 'presidentdetail',
                title: record.fullName(),

listeners: {
            maprender: function(comp, map) {
                var position = new google.maps.LatLng(5.978132,116.072617);
                var marker = new google.maps.Marker({
                    position: position,
                    map: map
                        });
            google.maps.event.addListener(marker, 'click', function() {
                    infowindow.open(map, marker);
                        });
            setTimeout(function() {
                    map.panTo(position);
                }, 1000);

                },
           }, 
        })
     },
});

我的觀點:

Ext.define('List.view.PresidentDetail', {
extend : 'Ext.Map',
xtype: 'presidentdetail',

    config: {
                title: 'Details',
                styleHtmlContent: true,
                scrollable: 'vertical',
                //useCurrentLocation: true,
                layout: 'fit',

    mapOptions: {
                zoom: 16,
                mapTypeId: google.maps.MapTypeId.ROADMAP,
                navigationControl: true,
                navigationControlOptions: {
                style: google.maps.NavigationControlStyle.DEFAULT
                 }
            },
    }


});

我的模特:

Ext.define('List.model.President', {
extend : 'Ext.data.Model',
config : {
    fields : ['firstName', 'middleInitial', 'lastName', 'latitude', 'longitude']
},
fullName : function() {
    var d = this.data, names = [d.firstName, (!d.middleInitial ? "" : d.middleInitial + "."), d.lastName];
    return names.join(" ");
}
});

請幫幫我。 我需要使用緯度和經度標記列表上的每個地址,以便當用戶單擊該地址時,它將指向地圖的確切位置。

看看GitHub上的kentuni應用程序。 它是在sencha touch v1中使用的,並且使用了傳單,但它應該是一個很好的參考-它完全符合您想要的位置列表,當單擊該位置時,它會用標記推動地圖視圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM