webapp/public/js/bundle.js
//GCJ-02 to WGS-84 exactly
GCJ-02 to WGS-84 exactly
GCJ - 02 to WGS - 84 exactly
function gcj_decrypt_exact(gcjLat, gcjLon) {
		var initDelta = 0.01;
		var threshold = 0.000000001;
		var dLat = initDelta,
		    dLon = initDelta;
		var mLat = gcjLat - dLat,
		    mLon = gcjLon - dLon;
		var pLat = gcjLat + dLat,
		    pLon = gcjLon + dLon;
		var wgsLat,
		    wgsLon,
		    i = 0;
		while (1) {
			wgsLat = (mLat + pLat) / 2;
			wgsLon = (mLon + pLon) / 2;
			var tmp = this.gcj_encrypt(wgsLat, wgsLon);
			dLat = tmp.lat - gcjLat;
			dLon = tmp.lon - gcjLon;
			if (Math.abs(dLat) < threshold && Math.abs(dLon) < threshold) break;
			if (dLat > 0) pLat = wgsLat;else mLat = wgsLat;
			if (dLon > 0) pLon = wgsLon;else mLon = wgsLon;
			if (++i > 10000) break;
		}
		return {
			'lat': wgsLat,
			'lon': wgsLon
		};
	}
function gcj_decrypt_exact ( gcjLat , gcjLon ) { var initDelta = 0.01 ; var threshold = 0.000000001 ; var dLat = initDelta , dLon = initDelta ; var mLat = gcjLat - dLat , mLon = gcjLon - dLon ; var pLat = gcjLat + dLat , pLon = gcjLon + dLon ; var wgsLat , wgsLon , i = 0 ; while ( 1 ) { wgsLat = ( mLat + pLat ) / 2 ; wgsLon = ( mLon + pLon ) / 2 ; var tmp = this . gcj_encrypt ( wgsLat , wgsLon ) ; dLat = tmp . lat - gcjLat ; dLon = tmp . lon - gcjLon ; if ( Math . abs ( dLat ) < threshold && Math . abs ( dLon ) < threshold ) break ; if ( dLat > 0 ) pLat = wgsLat ; else mLat = wgsLat ; if ( dLon > 0 ) pLon = wgsLon ; else mLon = wgsLon ; if ( ++ i > 10000 ) break ; } return { 'lat' : wgsLat , 'lon' : wgsLon } ; }
GCJ-02 to WGS-84 exactly
GCJ - 02 to WGS - 84 exactly
//console.log(i);