0 Replies Latest reply: Jun 28, 2017 6:47 AM by Kevin Wen

# Google Map var_zoom formula

Hi experts,

Can you hlep me to understand the script code for Google Map? Because i want use another Map, but looks the location has some skewing. so i want understand the principle and make it match to different Map. key point is "var_zoom" Thank you very much!

// Google Maps Key
// get a key here http://code.google.com/apis/maps/signup.html
//gmap_key = 'xx';
max_zoom_level = 17; //maximum value 17

// Variables required for calculating map
// No need to change these
var_pi180=              '=pi()/180';
var_lat_offset= '0';
var_mc2=                '=256*pow(2,\$(var_zoom))';
var_mc1=                '=256*pow(2,(\$(var_zoom)-1))';
var_mid_lat=        '=min(Latitude)+(1+var_lat_offset)*((max(Latitude)-min(Latitude))/2)';
var_mid_long=   '=min(Longitude)+(max(Longitude)-min(Longitude))/2';
var_zoom=               '=max(aggr(if(max( round(256*pow(2,(_zoom_level -1)))+( Longitude *((256*pow(2,_zoom_level ))/360)) )-min( round(256*pow(2,(_zoom_level -1)))+( Longitude *((256*pow(2,_zoom_level ))/360)) ) <map_size_x AND max((256*pow(2,(_zoom_level-1)))+((0.5*log((1+(sin((Latitude)*pi()/180)))/(1-(sin((Latitude)*pi()/180)))))*((-256*pow(2,_zoom_level))/(2*pi()))))-min((256*pow(2,(_zoom_level-1)))+((0.5*log((1+(sin((Latitude)*pi()/180)))/(1-(sin((Latitude)*pi()/180)))))*((-256*pow(2,_zoom_level))/(2*pi()))))<map_size_y,_zoom_level,1),_zoom_level))';
var_maptype= '=if(isnull(only(maptype)),fieldvalue( '&chr(39)&'maptype'&chr(39)&', 1 ),maptype)';
map_size_x=         '462';
map_size_y=     '262';

SET HidePrefix='_' ;
// Field required for calcualting best zoom level
_zoom_level:
Load RecNo( ) as _zoom_level autogenerate(max_zoom_level);

maptype:
LOAD * INLINE [
maptype