Javascript 在SenchaTouch2中,我应该把谷歌地图逻辑放在哪里?多重标记
我有一个运行在谷歌Appengine上的谷歌地图 我想通过使用(也许)把它变成一个移动友好的界面。也许我也应该知道,但我看不到他们的文件中有任何说明 我不太懂JavaScript。这是我的“边做边学”应用程序 我一直在阅读Sencha Touch 2文档中的示例,但在获得一些带有基本html和图像的选项卡面板之后,它就停止了 在github上还有一些Sencha Touch 2 MVC和表单的其他示例,我很想处理这些示例,但第一步是重新创建我的功能图 我已经包括了当前正在工作的Google Maps循环:Javascript 在SenchaTouch2中,我应该把谷歌地图逻辑放在哪里?多重标记,javascript,extjs,sencha-touch-2,google-maps-mobile,Javascript,Extjs,Sencha Touch 2,Google Maps Mobile,我有一个运行在谷歌Appengine上的谷歌地图 我想通过使用(也许)把它变成一个移动友好的界面。也许我也应该知道,但我看不到他们的文件中有任何说明 我不太懂JavaScript。这是我的“边做边学”应用程序 我一直在阅读Sencha Touch 2文档中的示例,但在获得一些带有基本html和图像的选项卡面板之后,它就停止了 在github上还有一些Sencha Touch 2 MVC和表单的其他示例,我很想处理这些示例,但第一步是重新创建我的功能图 我已经包括了当前正在工作的Google Ma
for(var i = 0; i < pubs.length; ++i) {
(function (address, name, phone, price, icon, lat, lng, boing) {
var posi = new google.maps.LatLng(lat, lng);
if(boing == 'true') {
var bounce = google.maps.Animation.BOUNCE;
};
var marker = new google.maps.Marker({
animation: bounce,
map: beerMap.map,
//changed this to beerMap
icon: icon,
shadow: shadow,
position: posi,
title: name
});
google.maps.event.addListener(marker, 'click', function () {
content_string = '<div id=content>' + '<div id="infoWindow">' + '</div>' + '<h2 id="pubName" class="pubName">' + name + '</h2>' + '<div id="pubAddress">' + '<p><b>' + address + '</b>' + '<div id="pubPhone" class="pubPhone">' + '<p>Phone: ' + phone + '<p>Halvliterpris: NOK <b>' + price + '</b>';
bubble.setContent(content_string);
bubble.open(beerMap.map, marker);
});
})(pubs[i], pub_name[i], pub_phone[i], beer_price[i], marker_icon[i], pub_lat[i], pub_lng[i], pub_bounce[i]);
}
./app/controller/Home.js
Ext.define('app.controller.Home', {
extend: 'Ext.app.Controller',
views: ['HomePage'],
init: function() {
console.log('Home controller init method...');
}
});
./app/view/HomePage.js
Ext.define('app.view.HomePage', {
extend: 'Ext.Panel',
alias: 'widget.homepage',
config: {
html: '<img src="http://staging.sencha.com/img/sencha.png" />'
},
initialize: function () {
console.log("InitComponent for homepage");
this.callParent();
}
});
Ext.define('app.view.HomePage'{
扩展:“Ext.Panel”,
别名:“widget.homepage”,
配置:{
html:'
},
初始化:函数(){
log(“主页的InitComponent”);
这是callParent();
}
});
在我的演示应用程序中,我已将标记逻辑放入maprender方法中:
首先是控制器的init
方法:
/**
* The init method will be executed first. Here we define how this controller should behave.
*/
init: function() {
this.control({
'viewport' : {
activeitemchange : 'handleItemChange'
},
'map' : {
maprender : 'onGMapRender'
}
});
},
然后我的方法GMapRender()
:
在方法GMapRender(实际上是方法maprender中,你有一个地图对象,你可以在那里用谷歌地图对象做有趣的事情
希望这能帮你找到正确的方向。我在这里或Sencha论坛上都没有成功。我问错问题了吗?
/**
* The init method will be executed first. Here we define how this controller should behave.
*/
init: function() {
this.control({
'viewport' : {
activeitemchange : 'handleItemChange'
},
'map' : {
maprender : 'onGMapRender'
}
});
},
/**
* This method will be invoked after the google maps is rendered.
* Here we will define the current user location.
*/
onGMapRender: function(comp, map) {
},