Getting wrong Lat Long from Zipcode

Hello I have to get Latitude and Longitude from Zipcode.

I am using below method to get it out :

private void getLatLongFromZipCode() {
    final Geocoder geocoder = new Geocoder(mContext);
    try {
        List<Address> addresses = geocoder.getFromLocationName(Prefrences.getPref(mContext, ZIPCODE), 1);
        if (addresses != null && !addresses.isEmpty()) {
            Address address = addresses.get(0);
            mCurrentLatitude = address.getLatitude();
            mCurrentLongitude = address.getLongitude();
            Constant.displayLogE(">>>>zipcode > ", "" + Prefrences.getPref(mContext, ZIPCODE));
            Constant.displayLogE(">>>>lat > ", "" + mCurrentLatitude);
            Constant.displayLogE(">>>>Lng > ", "" + mCurrentLongitude);
        } else {
            // Display appropriate message when Geocoder services are not available
            Constant.displayToast(mContext, "Unable to geocode zipcode");
        }
    } catch (IOException e) {
        // handle exception
    }
}

Now, When I have checked my log, for zipcode : 77098 it giving me below info :

Latitude : 48.5880269 , Longitude : 3.108398 , which is incorrect.

It should be 29.7333 and 95.4175 as per google.

Is there any other way available to get such thing done ?
Thanks.

Getting wrong Lat Long from Zipcode