/**
* @Author sai
*
*/
Ext.define('SmartMenu.view.contact.Map', {
extend: 'Ext.Map',
config: {
t:'',
lat:'',
lng:'',
mapOptions: {
zoom: 9
},
listeners: [
{
fn: 'onMapMaprender',
event: 'maprender'
}
]
},
onMapMaprender: function(map, options) {
var gmap=this.getMap();
var infoWindow = new google.maps.InfoWindow();
var title=this.getT();
infoWindow.setContent(title);
var c=new google.maps.LatLng( this.getLat(),this.getLng());
map.setMapCenter(c);
var marker= new google.maps.Marker({
position:c,
map: gmap,
title:title,
draggable: false,
animation: google.maps.Animation.DROP
});
infoWindow.open(gmap, marker);
google.maps.event.addListener(marker, "click", function() {
infoWindow.close();
infoWindow = new google.maps.InfoWindow({
map: gmap,
position: c,
content: title
});
});
navigator.geolocation.getCurrentPosition(function(position) {
pos = new google.maps.LatLng(position.coords.latitude,
position.coords.longitude);
var centerMarker= new google.maps.Marker({
position: pos,
map: gmap,
draggable: false,
animation: google.maps.Animation.DROP
});
google.maps.event.addListener(centerMarker, "click", function() {
infoWindow.close();
infoWindow = new google.maps.InfoWindow({
title:arrLang[23],
map: gmap,
position: pos,
content: arrLang[24]
});
});
var populationOptions = {
strokeColor: "#FF0000",
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: "#FF0000",
fillOpacity: 0.35,
map: gmap,
center: pos,
radius: 1000
};
var cityCircle = new google.maps.Circle(populationOptions);
var Target= marker.getPosition();
var directionsService = new google.maps.DirectionsService();
var directionsDisplay = new google.maps.DirectionsRenderer();
directionsDisplay.setMap(gmap);
var request = {
origin:pos,
destination:Target,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(result);
}
});
setTimeout(function(){infoWindow.close();},3000);
},function(){
alert("Error",arrLang[25]);
});
}
});
var map= Ext.create('SmartMenu.view.contact.Map',
{ //id:'Map',
fullscreen: true,
title: map,
t: data.title,
lat: data.lat,
lng: data.lng
});
var btn = Ext.getCmp('btnFavorites');
btn.setText('重新定位');
// btn.setIconCls('locate');
btn.setHidden(false);
btn.setHandler(function () {
map.fireEvent('maprender', map);
}
);
分享到:
相关推荐
Sencha Touch 2入门教程之MVC 讲解如何使用 Sencha Touch 2 mvc模式来开发一个登录界面
sencha touch 2 实现的贪吃蛇 希望对大家有所帮助
本文通过对 Sencha Touch 框架的介绍,使读者对该框架有一定的了解,并通过一些代码示例给用户更详细直观的对 Sencha Touch 框架功能的了解。 ExtJS ExtJS 是为 web 开发人员提供的基于 JavaScript 和 web 标准快速...
sencha touch2移动开发框架,ajax获取数据
Sencha Touch开发的项目《般若人生》源码
sencha touch 应用案例 sencha touch 案例 一个完整的sencha touch 应用案例 移动WEB社区开发的日志案例 非常不错!
sencha touch 折叠list
Sencha Touch 2 简介知识,环境搭建,组件介绍和布局事例
sencha touch cookbook 英文高清文字版 !
MAC OS 下sencha touch +cordova 开发环境配置。可以将H5 hybird 应用打包成IOS 应用。
sencha touch 2.4.0最新版 原版包下载
sencha touch中文翻译文档,包含sencha touch入门基础和一些控件的使用说明
sencha touch list demo
Sencha Touch 2入门教程之MVC例子程序源代码 用Sencha Touch 2 之MVC模式写的一个登录界面的例子
sencha touch 是一个移动平台UI开发框架,可以实现各种绚丽的页面效果
这是我做的一个sencha touch 的项目,测试并能运行,希望对大家有帮助
sencha touch grid
sencha touch动态加载组件及容器内容,防止加载时间过长的问题