2013-12-16 8 views
0

У меня есть googlemap с слоем kml, и код, который я нашел на форуме разработчиков Google, приведен ниже. Он показывает метры для расстояния и квадратных метров площади. Как я могу изменить это, чтобы показать ноги для расстояния и акров для области? Любая помощь будет оценена. Благодарю.Googlemap v3 measure - конвертировать метры в футы и акры

4046,86 квадратных метров в 1 акр 3.28084 футов в 1 метр

 <script type="text/javascript"> 

        var polyline; 
        var polygon; 
        var map; 


        function initialize() { 
         var Trigger = new google.maps.LatLng(31.3664951, -98.5192484); 
         var myOptions = { 
         zoom: 14, 
         center: Trigger, 
         mapTypeId: google.maps.MapTypeId.HYBRID 
         }; 

         map = new google.maps.Map(document.getElementById('map_canvas'), myOptions); 
         var lineOptions = { 
         strokeColor: '#ff0000', 
         strokeOpacity: 1.0, 
         strokeWeight: 3 
         } 

         var kmlLayer = new google.maps.KmlLayer({ 
          url: 'http://www.website.com/KML/filename.kmz', 
          suppressInfoWindows: false, 
          map: map 
          }); 
         map.setOptions({draggableCursor:'crosshair'}); 

         polyline = new google.maps.Polyline(lineOptions); 
         polyline.setMap(map); 
         var gonOptions = { 
         fillColor: '#0000FF', 
         fillOpacity: 0.4, 
         strokeWeight: 0 
         }; 
         polygon = new google.maps.Polygon(gonOptions); 
         polygon.setMap(map); 
         // Add a listener for the click event 
         google.maps.event.addListener(map, 'click', addLatLng); 
        } 

        /** 
        * Handles click events on a map, and adds a new point to the Polyline. 
        * Updates the encoding text area with the path's encoded values. 
        */ 
        function addLatLng(event) { 
         var lpath = polyline.getPath(); 
         // Because path is an MVCArray, we can simply append a new coordinate 
         // and it will automatically appear 
         lpath.push(event.latLng); 
         var gpath = polygon.getPath(); 
         gpath.push(event.latLng); 

         // Update the text field 
         document.getElementById('lineLength').value = google.maps.geometry.spherical.computeLength(lpath.getArray()); 
         if (gpath.getLength()>2){ 
         var garray = []; 
         gpath.forEach(function(ll,num){ 
          garray.push(ll); 
         }); 
         // close loop. 
         garray.push(gpath.getAt(0)); 
         // bug? Always return 0. 
         var a = google.maps.geometry.spherical.computeArea(garray); 

         document.getElementById('polyArea').value = a; 
         } 
        } 


    </script> 
+0

У вас уже есть формула. Просто используйте его. –

+0

К сожалению, я не знаю, где положить его в javascript. – DWall

+0

Есть ли кто-нибудь, кто может мне помочь в том, где добавить код, чтобы преобразовать измерение из метров в футы для расстояния и квадратных метров в акров для этого района. – DWall

ответ

0

Используйте переводные коэффициенты у вас есть:

  • 4046.86 квадратных метров в 1 акр: число в квадратных метрах * 1 акр/4046,86 кв. М = число на акров
  • 3.28084 футов в 1 метре: номер в метрах * 3.28084 футов/метр = число в футах

       // Update the text field 
           document.getElementById('lineLength').value = google.maps.geometry.spherical.computeLength(lpath.getArray()) * 3.28084; // 3.28084 feet in 1 meter 
           if (gpath.getLength()>2){ 
           var garray = []; 
           gpath.forEach(function(ll,num){ 
            garray.push(ll); 
           }); 
           // close loop. 
           garray.push(gpath.getAt(0)); 
           // bug? Always return 0. 
           var a = google.maps.geometry.spherical.computeArea(garray); 
    
           document.getElementById('polyArea').value = a/4046.86; // 4046.86 sq meters in 1 acre 
    
+0

Спасибо за тонну за ответ. Я сделаю это. – DWall

 Смежные вопросы

  • Нет связанных вопросов^_^