Question : convert long and lat to X, Y coordinates

I'm a newbie to flash.  I have a map (mercator projection) and I would like to convert the long, lat to X and Y coordinates, attach the map to the stage, scale down the map to 30% of the original size and clip the map to the coordinates on the stage X:0, Y:82, W:670, H:490 The map width is 2860, height is 1900.
Then I would like zoom the map to the North Sea 56° 02 03 N, 3° 02 03 E and plot locations there. I have the long and lat values of the locatiion (as 2 values NOT 4) and I have found a function to convert to X, Y.

The map long and lat are SW(40.3130432088809, -44.6484375);NE(76.72022329036133, 74.00390625)

I have tried the code below to get the X and Y coordinates but I get unrealistic Y value. I also used a code I found on the site to clip the map to the coordinates but can't figure how to get it to work
Code Snippet:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
this._lockroot = true;
 
//MAP SIZE
var xwidth:Number = 2860;
var yheight:Number = 1900;
 
//MAP COORDINATES
var longN:Number = 76.7;  //Y1:0
var latW:Number = 74.0;   //X1:0
var longS:Number = 40.3;  //map helght Y2
var latE:Number = -44.6;  //map width   X2
 
//CONVERT MAP LONG, LAT TO X,Y COORDINATES
var x:Number;
var y:Number;
x = xwidth/(latE-latW);
y = yheight/(longN-longS);
trace("map x: " + x);
trace("map y: " + y);
 
function zoomClipToCoordinates(clip, top, left, bottom, right) {
      var zoomWidth:Number = 670;  //right minus left
      var zoomHeight:Number = 488; //bottom - top;
      var clipWidth = xwidth / (30/ 100);
      var clipHeight = yheight / (30 /100);
	  
      if (zoomWidth <= 0 || zoomHeight <= 0) return false;
	  
      //Zoom to the correct portion of the clip
      xwidth = Stage.width * (clipWidth / zoomWidth);
      xheight = Stage.height * (clipHeight / zoomHeight);
	  
      //Position the clip to the top and left coordinates provided
      clip._x = 0 - (left * (xwidth / clipWidth))
      clip._y = 0 - (top * (yheight / clipHeight))
}
Open in New Window Select All

Answer : convert long and lat to X, Y coordinates

Y values in Flash are measured "upside down", i.e. the top left corner is (0,0), positive y is down and positive x is to the left.

could you maybe have confused y and measured positive Y upwards?
Random Solutions  
 
programming4us programming4us