2012-07-06 91 views
0
launch: function() { 
    // The following is accomplished with the Google Map API 
    var position = new google.maps.LatLng(12.9833, 77.5833), //Sencha HQ 

     infowindow = new google.maps.InfoWindow({ 
      content: 'bengaluru' 
     }), 

     //Tracking Marker Image 
     image = new google.maps.MarkerImage(
      'resources/images/point.png', 
      new google.maps.Size(32, 31), 
      new google.maps.Point(0, 0), 
      new google.maps.Point(16, 31) 
     ), 

     shadow = new google.maps.MarkerImage(
      'resources/images/shadow.png', 
      new google.maps.Size(64, 52), 
      new google.maps.Point(0, 0), 
      new google.maps.Point(-5, 42) 
     ), 

     trackingButton = Ext.create('Ext.Button', { 
      iconMask: true, 
      iconCls: 'locate' 
     }), 

     trafficButton = Ext.create('Ext.Button', { 
      iconMask: true, 
      pressed: true, 
      iconCls: 'maps' 
     }), 

     toolbar = Ext.create('Ext.Toolbar', { 
      docked: 'top', 
      ui: 'light', 
      defaults: { 
       iconMask: true 
      }, 
      items: [ 
       { 
        xtype:'button', 
        id:'calculate', 
        text:'calculate', 
        handler:function(){ 
         alert('hello'); 
        } 
       } 
      ] 
     }); 

    var mapdemo = Ext.create('Ext.Map', { 
     mapOptions : { 
      center : new google.maps.LatLng(37.381592, 122.135672), //nearby San Fran 
      zoom : 12, 
      mapTypeId : google.maps.MapTypeId.ROADMAP, 
      navigationControl: true, 
      navigationControlOptions: { 
       style: google.maps.NavigationControlStyle.DEFAULT 
      } 
     }, 

     plugins : [ 
      new Ext.plugin.google.Tracker({ 
       trackSuspended: true, //suspend tracking initially 
       allowHighAccuracy: false, 
       marker: new google.maps.Marker({ 
        position: position, 
        title: 'My Current Location', 
        shadow: shadow, 
        icon: image 
       }) 
      }), 
      new Ext.plugin.google.Traffic() 
     ], 

     listeners: { 
      maprender: function(comp, map) { 
       var marker = new google.maps.Marker({ 
        position: position, 
        title : 'Sencha HQ', 
        map: map 
       }); 

       google.maps.event.addListener(marker, 'click', function() { 
        infowindow.open(map, marker); 
       }); 

       setTimeout(function() { 
        map.panTo(position); 
       }, 1000); 
      } 

     } 
    }); 

如何可以测量两个目的地的纬度和经度是知道........ 这个代码是从由与煎茶touch2提供的示例中采取之间的距离的任何想法很少修改。 其为煎茶触摸2地理位置+距离测量

回答

0

尝试google.maps.geometry.spherical.computeDistanceBetween(from:LatLng, to:LatLng, radius?:number)

半径是地球半径=6371000米(平均)

+0

如何使用此...任何例子..... – 2012-07-06 09:19:13

+0

VAR距离= google.maps.geometry.spherical.computeDistanceBetween(center,position,6371000); – 2012-07-06 09:23:49

+0

你不需要输入半径,它有一个默认值,所以你也可以这样做:distance = google.maps.geometry.spherical.computeDistanceBetween(center,position); – 2012-07-06 09:26:29