`
sailei1
  • 浏览: 127022 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Sencha Touch 2 Map

阅读更多
/**   
 * @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);
        		}
        		);

0
0
分享到:
评论

相关推荐

    touch-docs-2.2.1.zip(senchaTouch 离线API参考文档)

    2. **示例代码**:包含许多实际应用的例子,展示了如何在项目中使用Sencha Touch的各种功能。 3. **快速入门指南**:针对初学者的教程,引导他们快速上手Sencha Touch的开发环境和基本操作。 4. **用户手册**:...

    Sencha Touch2环境搭建

    Sencha Touch 2是一款专为移动设备开发的前端框架,用于构建高性能的触控应用程序。它提供了丰富的组件库,使得开发者能够轻松创建出与原生应用相似的用户体验。本篇文章将详细阐述如何搭建Sencha Touch 2的开发环境...

    sencha touch 2 实例

    sencha touch 2 实现的贪吃蛇 希望对大家有所帮助

    Sencha Touch2 MVC Demo (含源码/数据库)

    Sencha Touch 2 是一个流行的JavaScript框架,专为构建移动Web应用程序而设计。它提供了丰富的UI组件、数据管理和触摸事件处理,使得开发者可以创建与原生应用类似的交互体验。MVC(Model-View-Controller)架构模式...

    api.zip_sencha _sencha touch api_sencha touch2 api

    标题中的"api.zip_sencha _sencha touch api_sencha touch2 api"表明这是一个关于Sencha Touch API的压缩文件集合,可能包含了Sencha Touch和Sencha Touch 2两个版本的API文档。 **Sencha Touch基础知识** Sencha ...

    Sencha 和 Sencha Touch 简介

    本文通过对 Sencha Touch 框架的介绍,使读者对该框架有一定的了解,并通过一些代码示例给用户更详细直观的对 Sencha Touch 框架功能的了解。 ExtJS ExtJS 是为 web 开发人员提供的基于 JavaScript 和 web 标准快速...

    sencha touch 登陆界面

    Sencha Touch 是一款专为移动设备设计的JavaScript框架,它提供了丰富的组件库和强大的数据管理功能,用于构建高性能的触控应用。"sencha touch 登陆界面"这个主题,主要涉及的是如何使用Sencha Touch来设计和实现一...

    Sencha Touch in Action

    2. 开发环境搭建:指导读者如何搭建Sencha Touch的开发环境,包括下载和安装Sencha Touch库。 3. 用户界面组件:详细介绍Sencha Touch提供的各种用户界面组件,如按钮、列表、表单、滑动菜单等。 4. 应用结构与生命...

    sencha touch项目源码

    2. **模型(Model)与存储(Store)**:Sencha Touch使用MVC(Model-View-Controller)架构。模型用于定义数据结构和业务逻辑,而存储则负责管理数据,包括加载、保存和同步到服务器。 3. **视图(View)与控制器...

    Sencha Touch开发的项目《般若人生》源码

    《般若人生》是一款基于Sencha Touch框架开发的移动应用项目。Sencha Touch是一个流行的JavaScript框架,专门用于构建跨平台的触屏友好型Web应用程序。它提供了丰富的UI组件和强大的数据管理工具,使得开发者能够...

    一个完整的sencha touch 应用案例

    2. **sencha-touch-all.js**:这是Sencha Touch的完整构建,包含所有组件和功能。在开发阶段,为了方便调试,我们通常使用此文件;但在生产环境中,为了优化性能,我们会使用按需加载的精简版(如sencha-touch.js)...

    sencha touch2 ajax 获取数据

    在探讨“Sencha Touch2 AJAX获取数据”的主题时,我们首先需要理解Sencha Touch2框架的基本概念以及AJAX技术在其中的应用。Sencha Touch2是一个用于构建高性能、跨平台的移动应用的JavaScript库,它专注于触摸设备上...

    sencha touch list demo

    Sencha Touch 是一款专为移动设备设计的前端框架,它提供了丰富的组件库,用于构建高性能的触屏Web应用。在“sencha touch list demo”中,我们主要关注的是Sencha Touch中的列表(List)组件,这是一个核心且常用的...

    sencha touch 2.4.0最新版

    Sencha Touch 2.4.0 是一个专为移动设备设计的前端JavaScript框架,它使得开发者能够构建功能丰富的、响应式的Web应用程序,这些应用在智能手机、平板电脑等移动设备上表现得如同原生应用一样流畅。这个框架由Sencha...

    sencha touch在VScode上的插件

    2. **语法高亮**:对Sencha Touch的JavaScript语法进行特殊标记,使代码更易读。 3. **模板和snippet**:预设Sencha Touch常用代码片段,快速构建组件。 4. **调试支持**:可能包含Sencha Touch应用的调试工具,帮助...

    sencha touch中文翻译文档

    这个"Sencha Touch中文翻译文档"是针对Sencha Touch 2(ST2)的详细教程和指南,旨在帮助中国开发者更轻松地理解和运用这一框架。 在入门基础部分,文档可能涵盖了以下内容: 1. **安装与设置**:如何下载Sencha ...

    sencha touch2 up and running

    Sencha Touch 2 Up and Running还概览了Sencha Touch的类库,这是构建Sencha Touch应用的基础。类库不仅包括构建用户界面的基础组件,还包括数据管理、视图和控制器等多个方面。在书中,作者强调了如何有效地利用...

Global site tag (gtag.js) - Google Analytics