Created
September 17, 2012 06:37
-
-
Save aisk/3735854 to your computer and use it in GitHub Desktop.
Revisions
-
aisk revised this gist
Sep 17, 2012 . 1 changed file with 16 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -111,5 +111,19 @@ convertor = function(point, mc) { MCBAND = [12890594.86, 8362377.87, 5591021, 3481989.83, 1678043.12, 0] LLBAND = [75, 60, 45, 30, 15, 0] MC2LL = [ [1.410526172116255e-8, 0.00000898305509648872, -1.9939833816331, 200.9824383106796, -187.2403703815547, 91.6087516669843, -23.38765649603339, 2.57121317296198, -0.03801003308653, 17337981.2], [ - 7.435856389565537e-9, 0.000008983055097726239, -0.78625201886289, 96.32687599759846, -1.85204757529826, -59.36935905485877, 47.40033549296737, -16.50741931063887, 2.28786674699375, 10260144.86], [ - 3.030883460898826e-8, 0.00000898305509983578, 0.30071316287616, 59.74293618442277, 7.357984074871, -25.38371002664745, 13.45380521110908, -3.29883767235584, 0.32710905363475, 6856817.37], [ - 1.981981304930552e-8, 0.000008983055099779535, 0.03278182852591, 40.31678527705744, 0.65659298677277, -4.44255534477492, 0.85341911805263, 0.12923347998204, -0.04625736007561, 4482777.06], [3.09191371068437e-9, 0.000008983055096812155, 0.00006995724062, 23.10934304144901, -0.00023663490511, -0.6321817810242, -0.00663494467273, 0.03430082397953, -0.00466043876332, 2555164.4], [2.890871144776878e-9, 0.000008983055095805407, -3.068298e-8, 7.47137025468032, -0.00000353937994, -0.02145144861037, -0.00001234426596, 0.00010322952773, -0.00000323890364, 826088.5] ] LL2MC = [ [ - 0.0015702102444, 111320.7020616939, 1704480524535203, -10338987376042340, 26112667856603880, -35149669176653700, 26595700718403920, -10725012454188240, 1800819912950474, 82.5], [0.0008277824516172526, 111320.7020463578, 647795574.6671607, -4082003173.641316, 10774905663.51142, -15171875531.51559, 12053065338.62167, -5124939663.577472, 913311935.9512032, 67.5], [0.00337398766765, 111320.7020202162, 4481351.045890365, -23393751.19931662, 79682215.47186455, -115964993.2797253, 97236711.15602145, -43661946.33752821, 8477230.501135234, 52.5], [0.00220636496208, 111320.7020209128, 51751.86112841131, 3796837.749470245, 992013.7397791013, -1221952.21711287, 1340652.697009075, -620943.6990984312, 144416.9293806241, 37.5], [ - 0.0003441963504368392, 111320.7020576856, 278.2353980772752, 2485758.690035394, 6070.750963243378, 54821.18345352118, 9540.606633304236, -2710.55326746645, 1405.483844121726, 22.5], [ - 0.0003218135878613132, 111320.7020701615, 0.00369383431289, 823725.6402795718, 0.46104986909093, 2351.343141331292, 1.58060784298199, 8.77738589078284, 0.37238884252424, 7.45] ] -
aisk revised this gist
Sep 17, 2012 . 1 changed file with 7 additions and 7 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -70,20 +70,20 @@ lngLatToMercator = function(point) { } var cE = convertor(point, mc); var lng_lat = { lng: cE.lng.toFixed(2), lat: cE.lat.toFixed(2) }; return lng_lat } getLoop = function(lng, a, b) { while (lng > b) { lng -= b - a } while (lng < a) { lng += b - a } return lng } getRange = function(lat, a, b) { -
aisk revised this gist
Sep 17, 2012 . 1 changed file with 20 additions and 7 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -15,7 +15,7 @@ pointToPixel = function(point, zoom, mCenter, bounds) { if (!point) { return } point = lngLatToMercator(point); var units = getZoomUnits(zoom); var x = Math.round((point.lng - mCenter.lng) / units + bounds.width / 2); var y = Math.round((mCenter.lat - point.lat) / units + bounds.height / 2); @@ -32,13 +32,13 @@ mercatorToLngLat = function(mLngLat) { lng: Math.abs(mLngLat.lng), lat: Math.abs(mLngLat.lat) }; for (var i = 0; i < MCBAND.length; i++) { if (absLngLat.lat >= MCBAND[i]) { mc = MC2LL[i]; break } } var lngLat = convertor(mLngLat, mc); var lngLat = { lng: lngLat.lng.toFixed(6), lat: lngLat.lat.toFixed(6) @@ -49,7 +49,7 @@ mercatorToLngLat = function(mLngLat) { lngLatToMercator = function(point) { var lng_lat, mc; point.lng = getLoop(point.lng, -180, 180); point.lat = getRange(point.lat, -74, 74); lng_lat = { lng: point.lng, lat: point.lat @@ -68,7 +68,7 @@ lngLatToMercator = function(point) { } } } var cE = convertor(point, mc); var lng_lat = { lnt: cE.lng.toFixed(2), lat: cE.lat.toFixed(2) @@ -77,7 +77,7 @@ lngLatToMercator = function(point) { } getLoop = function(lnt, a, b) { while (lnt > b) { lnt -= b - a } while (lnt < a) { @@ -96,6 +96,19 @@ getRange = function(lat, a, b) { return lat } convertor = function(point, mc) { if (!point || !mc) { return } var lng = mc[0] + mc[1] * Math.abs(point.lng); var c = Math.abs(point.lat) / mc[9]; var lat = mc[2] + mc[3] * c + mc[4] * c * c + mc[5] * c * c * c + mc[6] * c * c * c * c + mc[7] * c * c * c * c * c + mc[8] * c * c * c * c * c * c; lng *= (point.lng < 0 ? -1 : 1); lat *= (point.lat < 0 ? -1 : 1); return {lng: lng, lat: lat} } MCBAND = [12890594.86, 8362377.87, 5591021, 3481989.83, 1678043.12, 0] LLBAND = [75, 60, 45, 30, 15, 0] MC2LL = [[1.410526172116255e-8, 0.00000898305509648872, -1.9939833816331, 200.9824383106796, -187.2403703815547, 91.6087516669843, -23.38765649603339, 2.57121317296198, -0.03801003308653, 17337981.2], [ - 7.435856389565537e-9, 0.000008983055097726239, -0.78625201886289, 96.32687599759846, -1.85204757529826, -59.36935905485877, 47.40033549296737, -16.50741931063887, 2.28786674699375, 10260144.86], [ - 3.030883460898826e-8, 0.00000898305509983578, 0.30071316287616, 59.74293618442277, 7.357984074871, -25.38371002664745, 13.45380521110908, -3.29883767235584, 0.32710905363475, 6856817.37], [ - 1.981981304930552e-8, 0.000008983055099779535, 0.03278182852591, 40.31678527705744, 0.65659298677277, -4.44255534477492, 0.85341911805263, 0.12923347998204, -0.04625736007561, 4482777.06], [3.09191371068437e-9, 0.000008983055096812155, 0.00006995724062, 23.10934304144901, -0.00023663490511, -0.6321817810242, -0.00663494467273, 0.03430082397953, -0.00466043876332, 2555164.4], [2.890871144776878e-9, 0.000008983055095805407, -3.068298e-8, 7.47137025468032, -0.00000353937994, -0.02145144861037, -0.00001234426596, 0.00010322952773, -0.00000323890364, 826088.5]] -
aisk revised this gist
Sep 17, 2012 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -46,7 +46,7 @@ mercatorToLngLat = function(mLngLat) { return lngLat } lngLatToMercator = function(point) { var lng_lat, mc; point.lng = getLoop(point.lng, -180, 180); point.lat = this.getRange(point.lat, -74, 74); @@ -86,7 +86,7 @@ getLoop = function(lnt, a, b) { return lnt } getRange = function(lat, a, b) { if (a != null) { lat = Math.max(lat, a) } -
aisk revised this gist
Sep 17, 2012 . 1 changed file with 26 additions and 7 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -34,7 +34,7 @@ mercatorToLngLat = function(mLngLat) { }; for (var i = 0; i < this.MCBAND.length; i++) { if (absLngLat.lat >= this.MCBAND[i]) { mc = MC2LL[i]; break } } @@ -48,22 +48,22 @@ mercatorToLngLat = function(mLngLat) { convertLL2MC = function(point) { var lng_lat, mc; point.lng = getLoop(point.lng, -180, 180); point.lat = this.getRange(point.lat, -74, 74); lng_lat = { lng: point.lng, lat: point.lat }; for (var i = 0; i < LLBAND.length; i++) { if (lng_lat.lat >= LLBAND[i]) { mc = LL2MC[i]; break } } if (!mc) { for (var i = LLBAND.length - 1; i >= 0; i--) { if (lng_lat.lat <= -LLBAND[i]) { mc = LL2MC[i]; break } } @@ -76,8 +76,27 @@ convertLL2MC = function(point) { return lng_lat } getLoop = function(lnt, a, b) { while (lnt > T) { lnt -= b - a } while (lnt < a) { lnt += b - a } return lnt } getRange: function(lat, a, b) { if (a != null) { lat = Math.max(lat, a) } if (b != null) { lat = Math.min(lat, b) } return lat } MCBAND = [12890594.86, 8362377.87, 5591021, 3481989.83, 1678043.12, 0] LLBAND = [75, 60, 45, 30, 15, 0] MC2LL = [[1.410526172116255e-8, 0.00000898305509648872, -1.9939833816331, 200.9824383106796, -187.2403703815547, 91.6087516669843, -23.38765649603339, 2.57121317296198, -0.03801003308653, 17337981.2], [ - 7.435856389565537e-9, 0.000008983055097726239, -0.78625201886289, 96.32687599759846, -1.85204757529826, -59.36935905485877, 47.40033549296737, -16.50741931063887, 2.28786674699375, 10260144.86], [ - 3.030883460898826e-8, 0.00000898305509983578, 0.30071316287616, 59.74293618442277, 7.357984074871, -25.38371002664745, 13.45380521110908, -3.29883767235584, 0.32710905363475, 6856817.37], [ - 1.981981304930552e-8, 0.000008983055099779535, 0.03278182852591, 40.31678527705744, 0.65659298677277, -4.44255534477492, 0.85341911805263, 0.12923347998204, -0.04625736007561, 4482777.06], [3.09191371068437e-9, 0.000008983055096812155, 0.00006995724062, 23.10934304144901, -0.00023663490511, -0.6321817810242, -0.00663494467273, 0.03430082397953, -0.00466043876332, 2555164.4], [2.890871144776878e-9, 0.000008983055095805407, -3.068298e-8, 7.47137025468032, -0.00000353937994, -0.02145144861037, -0.00001234426596, 0.00010322952773, -0.00000323890364, 826088.5]] LL2MC = [[ - 0.0015702102444, 111320.7020616939, 1704480524535203, -10338987376042340, 26112667856603880, -35149669176653700, 26595700718403920, -10725012454188240, 1800819912950474, 82.5], [0.0008277824516172526, 111320.7020463578, 647795574.6671607, -4082003173.641316, 10774905663.51142, -15171875531.51559, 12053065338.62167, -5124939663.577472, 913311935.9512032, 67.5], [0.00337398766765, 111320.7020202162, 4481351.045890365, -23393751.19931662, 79682215.47186455, -115964993.2797253, 97236711.15602145, -43661946.33752821, 8477230.501135234, 52.5], [0.00220636496208, 111320.7020209128, 51751.86112841131, 3796837.749470245, 992013.7397791013, -1221952.21711287, 1340652.697009075, -620943.6990984312, 144416.9293806241, 37.5], [ - 0.0003441963504368392, 111320.7020576856, 278.2353980772752, 2485758.690035394, 6070.750963243378, 54821.18345352118, 9540.606633304236, -2710.55326746645, 1405.483844121726, 22.5], [ - 0.0003218135878613132, 111320.7020701615, 0.00369383431289, 823725.6402795718, 0.46104986909093, 2351.343141331292, 1.58060784298199, 8.77738589078284, 0.37238884252424, 7.45]] -
aisk revised this gist
Sep 17, 2012 . 1 changed file with 34 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -46,6 +46,38 @@ mercatorToLngLat = function(mLngLat) { return lngLat } convertLL2MC = function(point) { var lng_lat, mc; point.lng = this.getLoop(point.lng, -180, 180); point.lat = this.getRange(point.lat, -74, 74); lng_lat = { lng: point.lng, lat: point.lat }; for (var i = 0; i < LLBAND.length; i++) { if (lng_lat.lat >= this.LLBAND[i]) { mc = this.LL2MC[i]; break } } if (!mc) { for (var i = LLBAND.length - 1; i >= 0; i--) { if (lng_lat.lat <= -this.LLBAND[i]) { mc = this.LL2MC[i]; break } } } var cE = this.convertor(point, mc); var lng_lat = { lnt: cE.lng.toFixed(2), lat: cE.lat.toFixed(2) }; return lng_lat } MCBAND = [12890594.86, 8362377.87, 5591021, 3481989.83, 1678043.12, 0] LLBAND = [75, 60, 45, 30, 15, 0] MC2LL = [[1.410526172116255e-8, 0.00000898305509648872, -1.9939833816331, 200.9824383106796, -187.2403703815547, 91.6087516669843, -23.38765649603339, 2.57121317296198, -0.03801003308653, 17337981.2], [ - 7.435856389565537e-9, 0.000008983055097726239, -0.78625201886289, 96.32687599759846, -1.85204757529826, -59.36935905485877, 47.40033549296737, -16.50741931063887, 2.28786674699375, 10260144.86], [ - 3.030883460898826e-8, 0.00000898305509983578, 0.30071316287616, 59.74293618442277, 7.357984074871, -25.38371002664745, 13.45380521110908, -3.29883767235584, 0.32710905363475, 6856817.37], [ - 1.981981304930552e-8, 0.000008983055099779535, 0.03278182852591, 40.31678527705744, 0.65659298677277, -4.44255534477492, 0.85341911805263, 0.12923347998204, -0.04625736007561, 4482777.06], [3.09191371068437e-9, 0.000008983055096812155, 0.00006995724062, 23.10934304144901, -0.00023663490511, -0.6321817810242, -0.00663494467273, 0.03430082397953, -0.00466043876332, 2555164.4], [2.890871144776878e-9, 0.000008983055095805407, -3.068298e-8, 7.47137025468032, -0.00000353937994, -0.02145144861037, -0.00001234426596, 0.00010322952773, -0.00000323890364, 826088.5]] LL2MC = [[ - 0.0015702102444, 111320.7020616939, 1704480524535203, -10338987376042340, 26112667856603880, -35149669176653700, 26595700718403920, -10725012454188240, 1800819912950474, 82.5], [0.0008277824516172526, 111320.7020463578, 647795574.6671607, -4082003173.641316, 10774905663.51142, -15171875531.51559, 12053065338.62167, -5124939663.577472, 913311935.9512032, 67.5], [0.00337398766765, 111320.7020202162, 4481351.045890365, -23393751.19931662, 79682215.47186455, -115964993.2797253, 97236711.15602145, -43661946.33752821, 8477230.501135234, 52.5], [0.00220636496208, 111320.7020209128, 51751.86112841131, 3796837.749470245, 992013.7397791013, -1221952.21711287, 1340652.697009075, -620943.6990984312, 144416.9293806241, 37.5], [ - 0.0003441963504368392, 111320.7020576856, 278.2353980772752, 2485758.690035394, 6070.750963243378, 54821.18345352118, 9540.606633304236, -2710.55326746645, 1405.483844121726, 22.5], [ - 0.0003218135878613132, 111320.7020701615, 0.00369383431289, 823725.6402795718, 0.46104986909093, 2351.343141331292, 1.58060784298199, 8.77738589078284, 0.37238884252424, 7.45]] -
aisk revised this gist
Sep 17, 2012 . 1 changed file with 17 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,4 +1,5 @@ pixelToPoint = function(point, zoom, center, bounds) { // 像素到坐标 if (!point) { return } @@ -8,9 +9,23 @@ pixelToPoint = function(point, zoom, center, bounds) { var mercatorLngLat = {lng: mercatorLng, lat: mercatorLat}; return mercatorToLngLat(mercatorLngLat) } pointToPixel = function(point, zoom, mCenter, bounds) { // 坐标到像素 if (!point) { return } point = this.lngLatToMercator(point); var units = getZoomUnits(zoom); var x = Math.round((point.lng - mCenter.lng) / units + bounds.width / 2); var y = Math.round((mCenter.lat - point.lat) / units + bounds.height / 2); return {x: x, y: y} } getZoomUnits = function(zoom) { return Math.pow(2, (18 - zoom)) } mercatorToLngLat = function(mLngLat) { var absLngLat, mc; absLngLat = { @@ -30,5 +45,7 @@ mercatorToLngLat = function(mLngLat) { }; return lngLat } MC2LL = [[1.410526172116255e-8, 0.00000898305509648872, -1.9939833816331, 200.9824383106796, -187.2403703815547, 91.6087516669843, -23.38765649603339, 2.57121317296198, -0.03801003308653, 17337981.2], [ - 7.435856389565537e-9, 0.000008983055097726239, -0.78625201886289, 96.32687599759846, -1.85204757529826, -59.36935905485877, 47.40033549296737, -16.50741931063887, 2.28786674699375, 10260144.86], [ - 3.030883460898826e-8, 0.00000898305509983578, 0.30071316287616, 59.74293618442277, 7.357984074871, -25.38371002664745, 13.45380521110908, -3.29883767235584, 0.32710905363475, 6856817.37], [ - 1.981981304930552e-8, 0.000008983055099779535, 0.03278182852591, 40.31678527705744, 0.65659298677277, -4.44255534477492, 0.85341911805263, 0.12923347998204, -0.04625736007561, 4482777.06], [3.09191371068437e-9, 0.000008983055096812155, 0.00006995724062, 23.10934304144901, -0.00023663490511, -0.6321817810242, -0.00663494467273, 0.03430082397953, -0.00466043876332, 2555164.4], [2.890871144776878e-9, 0.000008983055095805407, -3.068298e-8, 7.47137025468032, -0.00000353937994, -0.02145144861037, -0.00001234426596, 0.00010322952773, -0.00000323890364, 826088.5]] MCBAND = [12890594.86, 8362377.87, 5591021, 3481989.83, 1678043.12, 0] -
aisk revised this gist
Sep 17, 2012 . 1 changed file with 3 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,17 +1,17 @@ pixelToPoint = function(point, zoom, center, bounds) { if (!point) { return } var zoomUnits = getZoomUnits(zoom); var mercatorLng = center.lng + zoomUnits * (point.x - bounds.width / 2); var mercatorLat = center.lat - zoomUnits * (point.y - bounds.height / 2); var mercatorLngLat = {lng: mercatorLng, lat: mercatorLat}; return mercatorToLngLat(mercatorLngLat) } getZoomUnits = function(zoom) { return Math.pow(2, (18 - zoom)) } mercatorToLngLat = function(mLngLat) { var absLngLat, mc; absLngLat = { lng: Math.abs(mLngLat.lng), -
aisk revised this gist
Sep 17, 2012 . 1 changed file with 2 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -30,4 +30,5 @@ convertMC2LL = function(mLngLat) { }; return lngLat } MC2LL = [[1.410526172116255e-8, 0.00000898305509648872, -1.9939833816331, 200.9824383106796, -187.2403703815547, 91.6087516669843, -23.38765649603339, 2.57121317296198, -0.03801003308653, 17337981.2], [ - 7.435856389565537e-9, 0.000008983055097726239, -0.78625201886289, 96.32687599759846, -1.85204757529826, -59.36935905485877, 47.40033549296737, -16.50741931063887, 2.28786674699375, 10260144.86], [ - 3.030883460898826e-8, 0.00000898305509983578, 0.30071316287616, 59.74293618442277, 7.357984074871, -25.38371002664745, 13.45380521110908, -3.29883767235584, 0.32710905363475, 6856817.37], [ - 1.981981304930552e-8, 0.000008983055099779535, 0.03278182852591, 40.31678527705744, 0.65659298677277, -4.44255534477492, 0.85341911805263, 0.12923347998204, -0.04625736007561, 4482777.06], [3.09191371068437e-9, 0.000008983055096812155, 0.00006995724062, 23.10934304144901, -0.00023663490511, -0.6321817810242, -0.00663494467273, 0.03430082397953, -0.00466043876332, 2555164.4], [2.890871144776878e-9, 0.000008983055095805407, -3.068298e-8, 7.47137025468032, -0.00000353937994, -0.02145144861037, -0.00001234426596, 0.00010322952773, -0.00000323890364, 826088.5]] MCBAND = [12890594.86, 8362377.87, 5591021, 3481989.83, 1678043.12, 0] -
aisk revised this gist
Sep 17, 2012 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,4 +1,4 @@ pixelToPoint = function(point, zoom, center, bounds, city) { if (!point) { return } @@ -8,7 +8,7 @@ pixelToPoint: function(point, zoom, center, bounds, city) { var mercatorLngLat = {lng: mercatorLng, lat: mercatorLat}; return mercatorToLngLat(mercatorLngLat, city) } getZoomUnits = function(zoom) { return Math.pow(2, (18 - zoom)) } convertMC2LL = function(mLngLat) { -
aisk revised this gist
Sep 17, 2012 . 1 changed file with 21 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -10,4 +10,24 @@ pixelToPoint: function(point, zoom, center, bounds, city) { } getZoomUnits: function(zoom) { return Math.pow(2, (18 - zoom)) } convertMC2LL = function(mLngLat) { var absLngLat, mc; absLngLat = { lng: Math.abs(mLngLat.lng), lat: Math.abs(mLngLat.lat) }; for (var i = 0; i < this.MCBAND.length; i++) { if (absLngLat.lat >= this.MCBAND[i]) { mc = this.MC2LL[i]; break } } var lngLat = this.convertor(mLngLat, mc); var lngLat = { lng: lngLat.lng.toFixed(6), lat: lngLat.lat.toFixed(6) }; return lngLat } MC2LL = [[1.410526172116255e-8, 0.00000898305509648872, -1.9939833816331, 200.9824383106796, -187.2403703815547, 91.6087516669843, -23.38765649603339, 2.57121317296198, -0.03801003308653, 17337981.2], [ - 7.435856389565537e-9, 0.000008983055097726239, -0.78625201886289, 96.32687599759846, -1.85204757529826, -59.36935905485877, 47.40033549296737, -16.50741931063887, 2.28786674699375, 10260144.86], [ - 3.030883460898826e-8, 0.00000898305509983578, 0.30071316287616, 59.74293618442277, 7.357984074871, -25.38371002664745, 13.45380521110908, -3.29883767235584, 0.32710905363475, 6856817.37], [ - 1.981981304930552e-8, 0.000008983055099779535, 0.03278182852591, 40.31678527705744, 0.65659298677277, -4.44255534477492, 0.85341911805263, 0.12923347998204, -0.04625736007561, 4482777.06], [3.09191371068437e-9, 0.000008983055096812155, 0.00006995724062, 23.10934304144901, -0.00023663490511, -0.6321817810242, -0.00663494467273, 0.03430082397953, -0.00466043876332, 2555164.4], [2.890871144776878e-9, 0.000008983055095805407, -3.068298e-8, 7.47137025468032, -0.00000353937994, -0.02145144861037, -0.00001234426596, 0.00010322952773, -0.00000323890364, 826088.5]] -
aisk revised this gist
Sep 17, 2012 . 1 changed file with 3 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -7,4 +7,7 @@ pixelToPoint: function(point, zoom, center, bounds, city) { var mercatorLat = center.lat - zoomUnits * (point.y - bounds.height / 2); var mercatorLngLat = {lng: mercatorLng, lat: mercatorLat}; return mercatorToLngLat(mercatorLngLat, city) } getZoomUnits: function(zoom) { return Math.pow(2, (18 - zoom)) } -
aisk created this gist
Sep 17, 2012 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,10 @@ pixelToPoint: function(point, zoom, center, bounds, city) { if (!point) { return } var zoomUnits = getZoomUnits(zoom); var mercatorLng = center.lng + zoomUnits * (point.x - bounds.width / 2); var mercatorLat = center.lat - zoomUnits * (point.y - bounds.height / 2); var mercatorLngLat = {lng: mercatorLng, lat: mercatorLat}; return mercatorToLngLat(mercatorLngLat, city) }