Olivier, if you get any problem feel free to mail me

On Mon, Oct 25, 2010 at 10:16 AM, Mahesh <[email protected]> wrote:

> var areaNumber:Number = areaFromLatLngs(*your poly points array here*);
>
>
> private function areaFromLatLngs(polyPoints:Array):Number
>         {
>             var arr:Array =
> methodConvertFromPolypointsToPoints(polyPoints);
>             return area(arr);
>         }
>         private function
> methodConvertFromPolypointsToPoints(polyPoints:Array):Array
>         {
>             var latlng1:LatLng = null;
>             var p1:Point = null;
>             var latlng2:LatLng = null;
>             var p2:Point = null;
>             var num1:Number = NaN;
>             var num2:Number = NaN;
>             var arr1:Array = polyPoints.slice(0,polyPoints.length);
>             var arr2:Array = [];
>             if (arr1[0].lat() != arr1[(arr1.length - 1)].lat() ||
> arr1[0].lng() != arr1[(arr1.length - 1)].lng())
>             {
>                 arr1.push(new LatLng(arr1[0].lat(), arr1[0].lng()));
>             }
>             arr2.push(new Point(0, 0));
>             var count:int = 1;
>             while (count < arr1.length)
>             {
>
>                 latlng1 = arr1[count];
>                 p1 = map.fromLatLngToPoint(latlng1);
>                 latlng2 = arr1[(count - 1)];
>                 p2 = map.fromLatLngToPoint(latlng2);
>                 num1 = Math.atan2(p1.y - p2.y, p1.x - p2.x);
>                 num2 = latlng1.distanceFrom(latlng2);
>                 arr2.push(new Point(arr2[(count - 1)].x + Math.cos(num1) *
> num2, arr2[(count - 1)].y + Math.sin(num1) * num2));
>                 count++;
>             }
>             return arr2;
>         }
>         private function area(polyPoints:Array):Number
>         {
>             var i:int = 0;
>             var j:int = 0;
>             var area:Number = 0;
>             i = 0;
>             while(i < polyPoints.length)
>             {
>
>                 j = (i + 1) % polyPoints.length;
>                 area = area + polyPoints[i].x * polyPoints[j].y;
>                 area = area - polyPoints[i].y * polyPoints[j].x;
>                 i++;
>             }
>             area = area * 0.5;
>             return Math.abs(area);
>         }
>
>
> you will get number to "*areaNumber*" using above code....
>
> call the areaToMeasureFormat(*areaNumber) *will return area in different
> types of measurement as below
>
> public function areaToMeasureFormat(*areaNumber*:Number):String
>         {
>             var str:String = null;
>             if (*areaNumber*> 1000000)
>             {
>                 str = Number(*areaNumber */ 1000000).toFixed(2)) + " km²
> ";
>             }
>             str = Number(*areaNumber*) * 3280.8399).toFixed(2)) + " ft /
> ";
>             if (Number(*areaNumber* * 10.7639) > 43560)
>             {
>                 str = str + (Number(*areaNumber* * 10.7639 /
> 43560).toFixed(2)) + " acres");
>             }
>             else
>             {
>                 var yard:Number = Number(*areaNumber* * 10.7639)/3;
>                 str = str + (yard.toFixed(2) + " yards ");
>             }
>             return str;
>
>         }
>
>
>
> On Fri, Oct 22, 2010 at 4:52 PM, Athlantanis <
> [email protected]> wrote:
>
>> Hello,
>>
>> I tried to calculate the surface of a area with google map.
>> This surface is draw by the user (with polygon class) and can contain a
>> lot of point.
>> I want to calculate the surface of this area but i don't know how i can do
>> that ...
>>
>> I tried to calculate the threhold for the area to have the surface in
>> pixel and after multiply by a scale, but it doesn't work.
>> I don't find function (if it exist) to do that.
>>
>> Is it possible to do that and if it's possible, how can i do ?
>> Thank,
>> Olivier
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Google Maps API For Flash" group.
>> To post to this group, send email to
>> [email protected].
>> To unsubscribe from this group, send email to
>> [email protected]<google-maps-api-for-flash%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/google-maps-api-for-flash?hl=en.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Maps API For Flash" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-maps-api-for-flash?hl=en.

Reply via email to